Java常用实体类--System类
字符串、日期、数字是Java程序中最常使用的数据对象,对这些数据的创建、修改、格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握。本节将通过实例演示以下常用实体类
Java系统级类:系统类System、运行时类Runtime
Java字符串处理类:字符串类String、字符串分隔符类StringTokenizer、线程安全的可变字符串类StringBuffer、可变字符串类StringBuilder
Java日期处理类:日期类Date、日期格式化类DateFormate、日历类Calendar
Java数字处理类:数学类Math、随机类Radom、数学类Float、Double、Integer、Long
1、Java系统级类
系统类System:访问系统属性、访问环境变量、加载文件和库、快速复制数组、取得系统时间、系统推出命令、执行垃圾回收
运行时类Runtime:查看系统内存、终止JVM虚拟机、运行系统程序、使用关闭钩子
1.1访问系统属性
例如获取操作系统名称os.name、操作系统版本os.version、JVM名称java.vm.name、JDK版本java.version等。系统属性集合如表1-1示
表1-1 系统属性键值
java.version | Java运行时环境版本 |
java.vendor | Java运行时供应商 |
java.home | Java安装目录 |
java.vm.version | Java虚拟机版本 |
java.vm.name | Java虚拟机名称 |
java.class.version | Java类格式版本号 |
java.class.path | Java类路径 |
os.name | 操作系统的名称 |
os.version | 操作系统的版本 |
file.separator | 文件分隔符 |
path.separator | 路径分隔符 |
line.separator | 行分隔符 |
user.dir | 用户当前工作目录 |
System共有两种方法访问系统属性
(1)、取得所有系统属性列表
使用System.getProperties()函数将取得一个Properties对象,该对象包含了所有系统属性的键值对。然后转化为迭代器Enumeration对象额,然后使用while()循环显示输出所有的key和value。
package org.test.envm;import java.util.Enumeration;
import java.util.Properties;public class SystemEnvm {public static void main(String[] args) {// 取得系统属性列表Properties properties = System.getProperties();Enumeration<Object> e = properties.keys();while(e.hasMoreElements()){String key = (String) e.nextElement();String value = properties.getProperty(key);System.out.println(key+" = "+value);}}}
显示结果如下:
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jre6\bin
java.vm.version = 20.14-b01
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = CN
sun.os.patch.level = Service Pack 1
java.vm.specification.name = Java Virtual Machine Specification
user.dir = D:\workspace\new1_workspace\thread
java.runtime.version = 1.6.0_39-b04
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files\Java\jre6\lib\endorsed
os.arch = amd64
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 = C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_71\bin;C:\Program Files\Java\jdk1.7.0_71\jre\bin;D:\soft\apache-maven-3.0.5\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Lenovo\Fingerprint Manager Pro\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Subversion\bin;D:\soft\apache-tomcat-7.0.56\bin;.
java.specification.name = Java Platform API Specification
java.class.version = 50.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
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.6
java.class.path = D:\workspace\new1_workspace\thread\bin
user.name = Administrator
java.vm.specification.version = 1.0
sun.java.command = org.test.envm.SystemEnvm
java.home = C:\Program Files\Java\jre6
sun.arch.data.model = 64
user.language = zh
java.specification.vendor = Sun Microsystems Inc.
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.6.0_39
java.ext.dirs = C:\Program Files\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path = C:\Program Files\Java\jre6\lib\resources.jar;C:\Program Files\Java\jre6\lib\rt.jar;C:\Program Files\Java\jre6\lib\sunrsasign.jar;C:\Program Files\Java\jre6\lib\jsse.jar;C:\Program Files\Java\jre6\lib\jce.jar;C:\Program Files\Java\jre6\lib\charsets.jar;C:\Program Files\Java\jre6\lib\modules\jdk.boot.jar;C:\Program Files\Java\jre6\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 = amd64
(2)、取得某一个系统属性的值
如果我们知道要查询的属性的键,也可以直接使用System.getProperties(key)直接取得该键的值。
// TODO 取得某一系统属性值String osname = System.getProperty("os.name");//取得os.nameString osversion = System.getProperty("os.version");//取得os.versionString fileSep = System.getProperty("file.separator");System.out.println("操作系统名称:"+osname);System.out.println("操作系统版本:"+osversion);System.out.println("文件分隔符:"+fileSep);
显示结果如下:
操作系统名称:Windows 7
操作系统版本:6.1
文件分隔符:\
1.2、访问环境变量
系统属性是系统固有属性,不能够被修改。环境变量是可修改的。环境变量包括系统变量和用户变量。
用System取得环境变量。
(1)取得所有环境变量列表
使用System.getenv()函数将取得一个Map对象,该对象包含了所有环境变量的键值对。使用该函数去除了对象列表map,然后迭代,使用while()循环输出
// 得到环境变量列表Map<String, String> getenv = System.getenv();Iterator<String> iterator = getenv.keySet().iterator();while(iterator.hasNext()){String key = iterator.next();System.out.println(key + " = " + getenv.get(key));}
取得结果如下:
USERPROFILE = C:\Users\Administrator
JAVA_HOME = C:\Program Files\Java\jdk1.7.0_71
TOMCAT_CLASSPATH = .;D:\soft\apache-tomcat-7.0.56\lib\servlet-api.jar
SystemDrive = C:
#envTSLOGsss2796 = 75890384
Path = C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_71\bin;C:\Program Files\Java\jdk1.7.0_71\jre\bin;D:\soft\apache-maven-3.0.5\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Lenovo\Fingerprint Manager Pro\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Subversion\bin;D:\soft\apache-tomcat-7.0.56\bin
#envTSLOGXMediaLibrary2796 = 178637744
PROCESSOR_REVISION = 3c03
USERDOMAIN = WIN-RO8HM9VF60I
ALLUSERSPROFILE = C:\ProgramData
CATALINA_BASE = D:\soft\apache-tomcat-7.0.56
SESSIONNAME = Console
TMP = C:\Users\ADMINI~1\AppData\Local\Temp
#envKKPRbc_Cmdilne =
LOGONSERVER = \\WIN-RO8HM9VF60I
=:: = ::\
CommonProgramFiles = C:\Program Files\Common Files
PROCESSOR_LEVEL = 6
LOCALAPPDATA = C:\Users\Administrator\AppData\Local
COMPUTERNAME = WIN-RO8HM9VF60I
SystemRoot = C:\Windows
USERNAME = Administrator
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TOMCAT_HOME = D:\soft\apache-tomcat-7.0.56
APPDATA = C:\Users\Administrator\AppData\Roaming
ProgramData = C:\ProgramData
PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
windows_tracing_logfile = C:\BVTBin\Tests\installpackage\csilogfile.log
MAVEN_HOME = D:\soft\apache-maven-3.0.5
ProgramFiles(x86) = C:\Program Files (x86)
windows_tracing_flags = 3
TEMP = C:\Users\ADMINI~1\AppData\Local\Temp
ProgramFiles = C:\Program Files
HOMEDRIVE = C:
TNS_ADMIN = C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
ProgramW6432 = C:\Program Files
PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
ShellLaunch{A81BA54B-CCFE-4204-8E79-A68C0FDFA5CF} = ShellExt
CLASSPATH = .;C:\Program Files\Java\jdk1.7.0_71\lib;C:\Program Files\Java\jdk1.7.0_71\lib\tools.jar
PROCESSOR_ARCHITECTURE = AMD64
FP_NO_HOST_CHECK = NO
OS = Windows_NT
HOMEPATH = \Users\Administrator
JRE_HOME = C:\Program Files\Java\jre7
#envTSLOGRBCShellExt2796 = 2178528
CommonProgramW6432 = C:\Program Files\Common Files
APR_ICONV_PATH = C:\Program Files (x86)\Subversion\iconv
CATALINA_HOME = D:\soft\apache-tomcat-7.0.56
windir = C:\Windows
NUMBER_OF_PROCESSORS = 4
PSModulePath = C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC = C:\Users\Public
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files
ComSpec = C:\Windows\system32\cmd.exe
取得某一变量值,直接调用System.getenv(key)即可。
1.3、加载文件和库
函数load(String fileName)的作用是,从作为动态库的本地文件系统中以指定的文件名加载代码文件,文件名参数必须是完整的路径。
1.4 退出系统命令Runtime.getRuntime().exit(n);
1.5 垃圾回收:System.gc()
1.6 取得系统时间:System.currentTimeMillis()
1.7 快速复制数组:void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
转载于:https://blog.51cto.com/aku28907/1773913
Java常用实体类--System类相关推荐
- java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
今日内容介绍 u Object类 & System类 u 日期相关类 u 包装类&正则表达式 第1章 Object类 & System类 1.1 Object类 1.1. ...
- String类 Object类 System类 Math类 Date类 Calendar类 DateFormat类
API 全称Application Programming Interface,即应用程序编程接口. API是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能 ...
- java 系统 类_Java常用实体类--System类
字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类Java系统级类:系统类Sy ...
- Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解
常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...
- java 常用流_Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数...
Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观 ...
- Java: Object类,System类,StringBuilder类
Object 类 java.lang.Object类是Java语言中的根类(万类之源),即所有类的父类(超类).在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默 ...
- 常用API-3(System类、Math类、Arrays类、正则表达式)
1.Syetem java.lang包中,被final修饰,不可被继承. 代表程序所在系统,提供了对应的一些系统属性信息和系统操作. 不可手动创建System类的对象(因为构造函数被private修饰 ...
- java常用的接口和类的说明,Java程序连接数据库的常用的类和接口介绍
编写访问数据库的Java程序还需要几个重要的类和接口. DriverManager类 DriverManager类处理驱动程序的加载和建立新数据库连接.DriverManager是java.sql包中 ...
- Java 正则表达式 Pattern和Matcher类 Math类 Random类 System类 BigDecimal类
14.01_正则表达式 A:正则表达式:正确规则的表达式,规则java给我们定的.指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则,有自己特殊的应用.B:组成规则:规 ...
最新文章
- Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(andro
- 自觉培养“舆商” 争做成功网商
- python 常用 time, datetime处理
- 【PHP学习】—get请求传递参数(五)
- SAS 146GB*8 RAID5数据恢复过程(HP 双循环)
- [Java] POJ 2387 最短路问题
- linux安装ecshop,Linux安装ecshop
- 网站是否进行过SEO网站优化?主要就看这三点!
- 多元数量值函数积分学
- linux的xshell怎么保存密码,Xshell保存账号密码方法
- html5 audio左侧,HTML5之Audio(四)—— 左右声道
- P2690 [USACO04NOV]Apple Catching G
- opencascade 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
- Prometheus 配置钉钉告警
- 等保2.0正式发布了吗?核心思想包括什么?
- Windows批处理文件*.bat
- 乐视商城官方微博壕送5000张电影票:生态可以这样纵横
- 3-8 译码器,与4-16译码器
- 发现21cn邮箱存在严重的安全漏洞及风险,对于申请密保的邮箱可以随便更改任意用户的密码...
- 华为代工用海思处理器 新Nexus手机曝光