Java: System Properties
From System Properties you can find information about the operating system, the user, and the version of Java.
The property names (keys) and values are stored in a Properties
structure.
(See Properties).
A Properties
object can also be used to store your own program
properties in a file.
Getting the System Properties
Typically you get one property at a time by supplying the key in a call to
System.getProperty()
.
String System.getProperty(String key)
Returns the value of property key as a String.String System.getProperty(String key, String default)
Returns the value of property key as a string, or default if the property did not exist.Properties System.getProperties()
Returns a Properties object which has the value of all the properties. There are several ways to work with this object; see below for one example.
Example
String userDir = System.getProperty("user.dir");
A list of system properties
Here are the properties that displayed on my system.
awt.toolkit=sun.awt.windows.WToolkit file.encoding=Cp1252 file.encoding.pkg=sun.io file.separator=\ java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.awt.printerjob=sun.awt.windows.WPrinterJob java.class.path=.;c:\classpath\com.fredswartz.utilities.jar;c:\classpath\TableLayout.jar;c:\classpath\swixml.jar;c:\classpath\jdom.jar;c:\classpath\pmd-1.8\lib\pmd-1.8.jar;C:\classpath\pmd-1.8\lib\jaxen-core-1.0-fcs.jar;C:\classpath\com.fredswartz.guiUtils.jar;C:\classpath\com.fredswartz.fmt-0.7.jar;C:\Program Files\IBM\Cloudscape_10.0\lib\derby.jar java.class.version=49.0 java.endorsed.dirs=C:\Program Files\Java\jdk1.5.0_01\jre\lib\endorsed java.ext.dirs=C:\Program Files\Java\jdk1.5.0_01\jre\lib\ext java.home=C:\Program Files\Java\jdk1.5.0_01\jre java.io.tmpdir=C:\DOCUME~1\Owner\LOCALS~1\Temp\ java.library.path=C:\Program Files\Java\jdk1.5.0_01\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Python22;C:\Program Files\PC-Doctor for Windows\services;c:\ant\bin;c:\Program Files\Java\jdk\bin;c:\Program Files\Java\jdk\jre\javaws;C:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32;c:\classpath\jcsc/bin;c:\classpath\jcsc\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition java.runtime.version=1.5.0_01-b08 java.specification.name=Java Platform API Specification java.specification.vendor=Sun Microsystems Inc. java.specification.version=1.5 java.vendor=Sun Microsystems Inc. java.vendor.url=http://java.sun.com/ java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi java.version=1.5.0_01 java.vm.info=mixed mode, sharing java.vm.name=Java HotSpot(TM) Client VM java.vm.specification.name=Java Virtual Machine Specification java.vm.specification.vendor=Sun Microsystems Inc. java.vm.specification.version=1.0 java.vm.vendor=Sun Microsystems Inc. java.vm.version=1.5.0_01-b08 line.separator= os.arch=x86 os.name=Windows XP os.version=5.1 path.separator=; sun.arch.data.model=32 sun.boot.class.path=C:\Program Files\Java\jdk1.5.0_01\jre\lib\rt.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\i18n.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\jce.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.5.0_01\jre\classes sun.boot.library.path=C:\Program Files\Java\jdk1.5.0_01\jre\bin sun.cpu.endian=little sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 sun.desktop=windows sun.io.unicode.encoding=UnicodeLittle sun.jnu.encoding=Cp1252 sun.management.compiler=HotSpot Client Compiler sun.os.patch.level=Service Pack 2 user.country=US user.dir=C:\0www-workingnotes\notes-java-working\io\30properties_and_preferences\40sysprops\SysPropList user.home=C:\Documents and Settings\Owner user.language=en user.name=Owner user.timezone= user.variant=
Program that produced this output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// File: io/properties/SysPropList.java // Description: Shows system properties. This must be an application. // An applet can't get this information. // Author: Fred Swartz // Date: 2 Feb 2005 import java.awt.*; import javax.swing.*; import java.util.*; /** Generic main program. */ public class SysPropList { public static void main(String[] args) { JFrame window = new JFrame("System Properties"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setContentPane(new SysPropListGUI()); window.pack(); window.setVisible(true); } } /** Panel to display the (limited) GUI intereface. */ class SysPropListGUI extends JPanel { JTextArea m_propertiesTA = new JTextArea(20, 40); /** Constructor sets layout, adds component(s), sets values*/ public SysPropListGUI() { this.setLayout(new BorderLayout()); this.add(new JScrollPane(m_propertiesTA), BorderLayout.CENTER); //... Add property list data to text area. Properties pr = System.getProperties(); TreeSet propKeys = new TreeSet(pr.keySet()); // TreeSet sorts keys for (Iterator it = propKeys.iterator(); it.hasNext(); ) { String key = (String)it.next(); m_propertiesTA.append("" + key + "=" + pr.get(key) + "\n"); } } } |