字符串、日期、数字是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.versionJava运行时环境版本

java.vendorJava运行时供应商

java.homeJava安装目录

java.vm.versionJava虚拟机版本

java.vm.nameJava虚拟机名称

java.class.versionJava类格式版本号

java.class.pathJava类路径

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 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.name

String osversion = System.getProperty("os.version");//取得os.version

String 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 getenv = System.getenv();

Iterator 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)

java 系统 类_Java常用实体类--System类相关推荐

  1. 常用API-3(System类、Math类、Arrays类、正则表达式)

    1.Syetem java.lang包中,被final修饰,不可被继承. 代表程序所在系统,提供了对应的一些系统属性信息和系统操作. 不可手动创建System类的对象(因为构造函数被private修饰 ...

  2. java学习笔记13:正则表达式、System类、Date类、Calendar类

    一.正则表达式 1.概述:是指一个用来描述或者匹配一系列符合某个句法规则的字符串:其实就是一种规则,有自己特殊的应用. 2.正则表达式的组成规则 (1).字符 表达式 代表含义 x 字符 x.举例:' ...

  3. 第三次学JAVA再学不好就吃翔(part69)--System类

    学习笔记,仅供参考,有错必纠 文章目录 System类 字段 方法 gc方法 exit方法 currentTimeMillis方法 arraycopy方法 举个例子 System类 System类是在 ...

  4. java常用的集合对象_java常用实体类、集合类

    java常用实体类.集合类 [转自51cto博客jichangwei的BLOG] 1:String类,字符串是常量,他们的值在创建之后不能更改,可以共享. equals()用来比较两个字符串的值,== ...

  5. java常用class类_java常用类

    java常用类 内部类 1.成员内部类:在一个类的内部定义一个完整的类 例如:外部类public class Body{ 内部类class Header{ } } 内部类可以直接访问外部类的私有成员, ...

  6. java 文件拷贝保留原来的属性_Java常用属性拷贝工具类使用总结

    开头聊几句 1.网上很多的技术文章和资料是有问题的,要学会辨证的看待,不能随便就拿来用,起码要自己验证一下 2.关注当下,关注此刻,如果你真正阅读本篇文章,请花几分钟时间的注意力阅读,相信你会有收获的 ...

  7. java 比较器类_java常用类——比较器

    Comparable和Comparator接口都是为了对类进行比较,众所周知,诸如Integer,double等基本数据类型,java可以对他们进行比较,而对于类的比较,需要人工定义比较用到的字段比较 ...

  8. java虚拟机预先加载哪些类_Java虚拟机JVM学习02 类的加载概述

    Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...

  9. 测开基础串讲-Java基础-测开常用API之Random类

    在日常的测试开发工作中,Random类算是使用比较频繁的一个类了,有时候创建测试数据,可能需要随机生成一些姓名.年龄.号码.编号等,这个时候我们可能就会在固定的名称后面加上随机数字.字符等:下面就来看 ...

最新文章

  1. 生成JSON数据--fastjson(阿里)方法
  2. 全球及中国成人病袍行业专项调研评估及未来发展趋势预测报告2021-2027年版
  3. PyTorch + NumPy这么做会降低模型准确率,这是bug还是预期功能?
  4. Android UI线程和非UI线程
  5. 请求库-selenium 模块
  6. CF-1207 F. Remainder Problem(分块)
  7. Cannot forward after response has been committed
  8. ceph rbd resize之后文件系统的调节
  9. Java中的垃圾回收原理
  10. mysql使用联合唯一索引会影响查询效率吗_想进大厂,这些Mysql索引底层知识你是必须知道的。...
  11. 收集一些关于视频文件格式以及编码计算的一些知识
  12. 泛微OA “低代码“开发-流程表单
  13. 3D打印自动支撑算法
  14. Windows安装--拼音分词器
  15. Spooling技术简单熟悉
  16. 电路图里面的NS是什么意思
  17. linux下载文件到本地
  18. ESP32开发(一):搭建windows开发环境--ESP-IDF工具命令提示符操作
  19. 关于IT信息化的一些感想
  20. 计算机专业当兵退役什么工作,当兵退伍后能做什么 能干什么工作

热门文章

  1. FPGA-Quartus II 13.1画逻辑门电路图的详细步骤
  2. 深入了解JVM之线上问题排查及工具使用(五)
  3. 变量存储重温及在Ubuntu系统和Keil中编程验证
  4. keil 增加 芯片包_国内首家!平头哥刚刚宣布开源RISCV内核MCU芯片设计平台
  5. xmanager linux 远程桌面,Xmanager连接CentOS的远程桌面
  6. linux安装桌面xmanager,Linux安装图形界面和Vnc与Xmanager服务
  7. react native 使用阿里字体图标库
  8. java编程英语词汇_Java编程基础常见英语词汇
  9. iOS播放器、Flutter高仿书旗小说、卡片动画、二维码扫码、菜单弹窗效果等源码
  10. flutter 图片加载