Java Tutorial/Development/System Properties

Материал из Java эксперт
Перейти к: навигация, поиск

Accessing a single System Properties: user.dir

   <source lang="java">

public class MainClass {

 public static void main(String[] a) {
   String currentDir = System.getProperty("user.dir");
   System.out.println(currentDir);
 }

}</source>



C:\Java_Dev\eclipse31\Apache Common


Clear system property: The System.clearProperty() method available in Java 1.5

   <source lang="java">

public class Main {

   public static void main(String[] args) {
       String key = "user.dir";
       System.clearProperty(key);
   }

}</source>





Create a user-defined property or change the value of the current property

   <source lang="java">

public class MainClass {

 public static void main(String[] args) {
   System.setProperty("password", "myPassword");
   System.out.println(System.getProperty("password"));
 }

}</source>



myPassword


Determine operating system using System class

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   System.out.println(System.getProperty("os.name"));
 }

}</source>





Emit a beep by printing the ASCII Bell character to the console

   <source lang="java">

public class Main {

 public static void main(String args[]) {
   // ASCII bell
   System.out.print("\0007");
   System.out.flush();
 }

}</source>





Get Environment Variables

   <source lang="java">

import java.util.Iterator; import java.util.Map; import java.util.Set; public class Main {

 public static void main(String[] args) {
   Map map = System.getenv();
   Set keys = map.keySet();
   Iterator iterator = keys.iterator();
   while (iterator.hasNext()) {
     String key = (String) iterator.next();
     String value = (String) map.get(key);
     System.out.println(key + " = " + value);
   }
 }

}</source>





Get file separator symbol

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String dataFolder = System.getProperty("user.dir") + System.getProperty("file.separator")
       + "data";
   System.out.println("Data Folder = " + dataFolder);
 }

}</source>





Get Java Home directory

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String javaHome = System.getProperty("java.home");
   System.out.println("javaHome = " + javaHome);
 }

}</source>





Get Java Runtime Environment (JRE) version

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String version = System.getProperty("java.version");
   System.out.println("JRE Version = " + version);
 }

}</source>





Get Java specification version using System class

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   System.out.println(System.getProperty("java.specification.version"));
 }

}</source>





Get operating system name and version

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String name = "os.name";
   String version = "os.version";
   String architecture = "os.arch";
   System.out.println("Name: " + System.getProperty(name));
   System.out.println("Version: " + System.getProperty(version));
   System.out.println("Architecture: " + System.getProperty(architecture));
 }

}</source>





Get operating system temporary directory / folder

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String property = "java.io.tmpdir";
   String tempDir = System.getProperty(property);
   System.out.println("OS current temporary directory is " + tempDir);
 }

}</source>





Get path / classpath separator

   <source lang="java">

import java.util.Properties; public class Main {

 public static void main(String[] args) {
   Properties properties = System.getProperties();
   String pathSeparator = properties.getProperty("path.separator");
   System.out.println("pathSeparator = " + pathSeparator);
 }

}</source>





Get system properties using System class

   <source lang="java">

import java.util.Properties; public class Main {

 public static void main(String[] args) {
   Properties prop = System.getProperties();
   System.out.println("Printing all System properties");
   prop.list(System.out);
 }

}</source>





Getting the Default System Properties

   <source lang="java">

public class MainClass {

 public static void main(String[] args) {
   java.util.Properties properties = System.getProperties();
   properties.list(System.out);
 }

}</source>



-- listing properties --
java.runtime.name=Java(TM) 2 Runtime Environment, Stand...
sun.boot.library.path=C:\Java_Dev\sdk\jdk\jre\bin
java.vm.version=1.5.0-b64
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.ru/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=US
sun.os.patch.level=Service Pack 2
java.vm.specification.name=Java Virtual Machine Specification
...
...
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.5.0
java.ext.dirs=C:\Java_Dev\sdk\jdk\jre\lib\ext
sun.boot.class.path=C:\Java_Dev\sdk\jdk\jre\lib\rt.jar;C:...
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.ru/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=


Get user home directory name

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String userHome = "user.home";
   String path = System.getProperty(userHome);
   System.out.println("Your Home Path: " + path);
 }

}</source>





Get username of system current user

   <source lang="java">

public class Main {

 public static void main(String[] args) {
   String username = System.getProperty("user.name");
   System.out.println("username = " + username);
 }

}</source>





Java system properties

System propertyDescriptionjava.versionJava Runtime Environment versionjava.vendorJava Runtime Environment vendorjava.vendor.urlJava vendor URLjava.homeJava installation directoryjava.vm.specification.versionJava Virtual Machine specification versionjava.vm.specification.vendorJava Virtual Machine specification vendorjava.vm.specification.nameJava Virtual Machine specification namejava.vm.versionJava Virtual Machine implementation versionjava.vm.vendorJava Virtual Machine implementation vendorjava.vm.nameJava Virtual Machine implementation namejava.specification.versionJava Runtime Environment specification versionjava.specification.vendorJava Runtime Environment specification vendorjava.specification.nameJava Runtime Environment specification namejava.class.versionJava class format version numberjava.class.pathJava class pathjava.library.pathList of paths to search when loading librariesjava.io.tmpdirDefault temp file pathjava.rupilerName of JIT compiler to usejava.ext.dirsPath of extension directory or directoriesos.nameOperating system nameos.archOperating system architectureos.versionOperating system versionfile.separatorFile separator ("/" on UNIX)path.separatorPath separator (":" on UNIX)line.separatorLine separator ("\n" on UNIX)user.nameUser"s account nameuser.homeUser"s home directoryuser.dirUser"s current working directory


Loading Native Code

   <source lang="java">

public class Main {

 public static void main(String[] argv) throws Exception {
   System.loadLibrary("libraryName");
 }

}</source>





Returns a default value if the specified property does not exist

public static String getProperty (String key, String default)



   <source lang="java">

public class MainClass{

 public static void main(String[] args){
    System.out.println(System.getProperty("password","defaultPassword")); 
 }

}</source>



OS name: Windows XP
JVM Version: 1.5.0
user.home: C:\Documents and Settings\yourname
java.home: C:\Java_Dev\sdk\jdk\jre


Set a system property

   <source lang="java">

public class Main {

 public static void main(String[] argv) throws Exception {
   String previousValue = System.setProperty("application.property", "newValue");
 }

}</source>





Setting System Properties

   <source lang="java">

public class MainClass {

 public static void main(String[] a) {
   String oldValue = System.clearProperty("java.class.path");
   System.setProperty("user.dir", "C:/MyProg");
   System.out.println(System.getProperty("user.dir"));
 }

}</source>



C:/MyProg


Setting the Value of a System Property from the Command Line: add -D option to the java command when running your program.

   <source lang="java">

java -Dmy.prop="my value" MyApp

public class Main {

 public static void main(String[] argv) throws Exception {
 
   String prop = System.getProperty("my.prop");
 
 }

}</source>





System.setProperty("apple.laf.useScreenMenuBar", "true")

   <source lang="java">

import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; public class Main {

 static {
   System.setProperty("apple.laf.useScreenMenuBar", "true");
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame("Menu Bar Demo");
   JMenuBar bar = new JMenuBar();
   JMenu fileMenu = new JMenu("File");
   JMenu editMenu = new JMenu("Edit");
   JMenu helpMenu = new JMenu("Help");
   bar.add(fileMenu);
   bar.add(editMenu);
   bar.add(helpMenu);
   frame.setSize(300, 150);
   frame.setJMenuBar(bar);
   frame.setVisible(true);
 }

}</source>





Terminate a Java application

   <source lang="java">

import java.io.File; public class Main {

 public static void main(String[] args) {
   File file = new File("config.xml");
   int errCode = 0;
   if (!file.exists()) {
     errCode = 1;
   } else {
     errCode = 0;
   }
   // When the error code is not zero go terminate
   if (errCode > 0) {
     System.exit(errCode);
   }
 }

}</source>





Using System.getProperty(String key) to retrieve system properties

  1. This method returns the value of the specified property.
  2. It returns null if the specified property does not exist.
  3. Each property comes as a key/value pair.
  4. There are system properties and user-defined properties.
  5. When a Java program runs, the JVM provides values that may be used by the program as properties.
  6. For example, the os.name system property provides the name of the operating system running the JVM.
  7. To get the value of the user.dir property, you use:



   <source lang="java">

public class MainClass{

 public static void main(String[] args){
   System.out.println(System.getProperty ("user.dir"));      
 }

}</source>



C:\Java_Dev\eclipse31\Apache Common