`
yjf997234900.
  • 浏览: 7057 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员-java系统相关类

    博客分类:
  • JAVA
阅读更多

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

Java程序在不同操作系统上运行时,要取的平台相关的属性,或者通过一些平台命令来完成一些功能,Java 中的System类和Runtime类来与运行的平台交互。

相信在学毕老师视频的同学对这段代码很熟悉:

import java.util.*;
public class SystemDemo 
{
    public static void main(String[] args) 
	{
	        Properties prop=System.getProperties();//确定当前的系统属性。
	     // Set<K> keySet()  返回此映射中包含的键的 Set 视图。 
               // V get(Object key)  返回指定键所映射到的值
               //Properties是Hashtable的子类,也就是Map集合的一个子类对象
	    //可以通过map的方法取出该集合的元素
	    // System.setProperty("myKey","myValue");//在系统中自定义一些特有信息
	    // String getvalue=System.getProperty("java.runtime.version");//获取指定属性信息(java运行的版本)
	    // System.out.println("Value="+getvalue);
	     
	    for(Object obj:prop.keySet())
	    {
	    	String value=(String)prop.get(obj);
	    	System.out.println(obj+"-------:"+value);
	    }
	   
	}	
}
运行结果 写道
java.runtime.name-------:Java(TM) SE Runtime Environment
sun.boot.library.path-------:D:\TDDOWNLOAD\java\jre\bin
java.vm.version-------:20.0-b01
java.vm.vendor-------:Sun Microsystems Inc.
java.vendor.url-------:http://java.sun.com/
path.separator-------:;
java.vm.name-------:Java HotSpot(TM) Client VM
file.encoding.pkg-------:sun.io
user.country-------:CN
sun.java.launcher-------:SUN_STANDARD
sun.os.patch.level-------:
java.vm.specification.name-------:Java Virtual Machine Specification
user.dir-------:D:\TDDOWNLOAD\javawork\System,Math,Runtime对象\SystemDemo
java.runtime.version-------:1.7.0-ea-b113
java.awt.graphicsenv-------:sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs-------:D:\TDDOWNLOAD\java\jre\lib\endorsed
os.arch-------:x86
java.io.tmpdir-------:C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator-------:

java.vm.specification.vendor-------:Sun Microsystems Inc.
user.variant-------:
os.name-------:Windows 7
sun.jnu.encoding-------:GBK
java.library.path-------:D:\TDDOWNLOAD\java\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\Win7系统封装资料\[3]优化及设置\Windows7优化大师 V1.66 绿色版\;D:\TDDOWNLOAD\java\bin;
java.specification.name-------:Java Platform API Specification
java.class.version-------:51.0
sun.management.compiler-------:HotSpot Client Compiler
os.version-------:6.1
user.home-------:C:\Users\Administrator
user.timezone-------:
java.awt.printerjob-------:sun.awt.windows.WPrinterJob
file.encoding-------:GBK
java.specification.version-------:1.7
java.class.path-------:D:\TDDOWNLOAD\javawork\System,Math,Runtime对象\SystemDemo;D:\TDDOWNLOAD\java\jre\lib\rt.jar;D:\TDDOWNLOAD\java\lib\dt.jar;D:\TDDOWNLOAD\java\lib\tools.jar;D:\TDDOWNLOAD\java\jre\lib\ext\dnsns.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunec.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunjce_provider.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunmscapi.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunpkcs11.jar;D:\TDDOWNLOAD\java\jre\lib\ext\localedata.jar
user.name-------:Administrator
java.vm.specification.version-------:1.0
java.home-------:D:\TDDOWNLOAD\java\jre
sun.arch.data.model-------:32
user.language-------:zh
java.specification.vendor-------:Sun Microsystems Inc.
awt.toolkit-------:sun.awt.windows.WToolkit
java.vm.info-------:mixed mode, sharing
java.version-------:1.7.0-ea
java.ext.dirs-------:D:\TDDOWNLOAD\java\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path-------:D:\TDDOWNLOAD\java\jre\lib\resources.jar;D:\TDDOWNLOAD\java\jre\lib\rt.jar;D:\TDDOWNLOAD\java\jre\lib\sunrsasign.jar;D:\TDDOWNLOAD\java\jre\lib\jsse.jar;D:\TDDOWNLOAD\java\jre\lib\jce.jar;D:\TDDOWNLOAD\java\jre\lib\charsets.jar;D:\TDDOWNLOAD\java\jre\lib\modules\jdk.boot.jar;D:\TDDOWNLOAD\java\jre\classes
java.vendor-------:Sun Microsystems Inc.
file.separator-------:\
java.vendor.url.bug-------:http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding-------:UnicodeLittle
sun.cpu.endian-------:little
sun.desktop-------:windows
sun.cpu.isalist-------:pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

 其中一些系统属性我们很熟悉,System类还提供获取系统所有环境变量的方法,System.getenv()看下系统变量和系统属性有什么不同,供黑马的学员对比学习一下。

import java.util.*;
public class TestSystem 
{
  public static void main(String[] args) 
	{
	 Map<String,String> env=System.getenv();//获取系统所有的环境变量
	 for(String name:env.keySet())
	 {
	 	System.out.println(name+"---------->"+env.get(name));
	 }
	}	
}

 

运行结果对比: 写道
--------------------配置: <默认>--------------------
USERPROFILE---------->C:\Users\Administrator
ProgramData---------->C:\ProgramData
PATHEXT---------->.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
JAVA_HOME---------->D:\TDDOWNLOAD\java\
TEMP---------->C:\Users\ADMINI~1\AppData\Local\Temp
SystemDrive---------->C:
ProgramFiles---------->C:\Program Files
Path---------->C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\Win7系统封装资料\[3]优化及设置\Windows7优化大师 V1.66 绿色版\;D:\TDDOWNLOAD\java\bin;
HOMEDRIVE---------->C:
PROCESSOR_REVISION---------->170a
=C:---------->C:\Program Files\JCreator Pro\CodeSnippets
_DFX_INSTALL_UNSIGNED_DRIVER---------->1
USERDOMAIN---------->PC-20111018DMXJ
ALLUSERSPROFILE---------->C:\ProgramData
DEVMGR_SHOW_DETAILS---------->1
PROCESSOR_IDENTIFIER---------->x86 Family 6 Model 23 Stepping 10, GenuineIntel
SESSIONNAME---------->Console
TMP---------->C:\Users\ADMINI~1\AppData\Local\Temp
CommonProgramFiles---------->C:\Program Files\Common Files
=::---------->::\
LOGONSERVER---------->\\PC-20111018DMXJ
PROCESSOR_ARCHITECTURE---------->x86
FP_NO_HOST_CHECK---------->NO
OS---------->Windows_NT
HOMEPATH---------->\Users\Administrator
PROCESSOR_LEVEL---------->6
1830B7BD-F7A3-4c4d-989B-C004DE465EDE---------->c4:f71da8
=D:---------->D:\TDDOWNLOAD\javawork\System,Math,Runtime对象
LOCALAPPDATA---------->C:\Users\Administrator\AppData\Local
COMPUTERNAME---------->PC-20111018DMXJ
windir---------->C:\Windows
SystemRoot---------->C:\Windows
NUMBER_OF_PROCESSORS---------->2
USERNAME---------->Administrator
PUBLIC---------->C:\Users\Public
PSModulePath---------->C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
ComSpec---------->C:\Windows\system32\cmd.exe
APPDATA---------->C:\Users\Administrator\AppData\Roaming

处理已完成。

 Runtime类

Runtime类代表java程序的运行环境,每个Java程序都有一个与之对应的Runtime实例,通过该对象与运行环境相连

可以访问JVM的相关信息,如处理器数量(我的机子是双核的,数量为2),内存信息等

public class RuntimeDemo 
{
	public static void main(String[] args) throws Exception
	{
		Runtime rt=Runtime.getRuntime();
		System.out.println("总内存数:"+rt.totalMemory());
		System.out.println("处理器数量:"+rt.availableProcessors());
		rt.exec("notepad.exe");//运行记事本程序
	}
		
}

 这里直接启动一条进程来运行操作系统命令

java还提供了一些常用类,如:String、Math等,在此不赘述了。

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics