一、说明:
API 1.6中:System
类包含一些有用的类字段和方法。它不能被实例化。
1、说明该类中的构造方法不对外提供。
2、从不能被实例化可以看出,该类中所有的方法都是静态的。
二、字段摘要
static PrintStream | err “标准”错误输出流。 |
static InputStream | in “标准”输入流。 |
static PrintStream | out “标准”输出流。 |
三、常见的方法摘要
- 获取系统当前毫秒时间。
-
-
static long
currentTimeMillis()
返回当前时间(以毫秒为单位)。
-
返回:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。
/**
* 毫秒转换成秒 除1000
* 秒转换成分钟 除以60
* 分转换成小时 除以60
* 时转换成天 除以24
*/
System.out.println(oldTime/1000/60/60/24);
long newTime=System.currentTimeMillis();
long data=newTime-oldTime;
System.out.println(data);
2、获取当前的系统信息:
-
-
static Properties
getProperties()
确定当前的系统属性。
-
public static void demo_1() {
//获取系统信息,并存储到properties中
Properties prop=System.getProperties();
//将Properties转成Set集合
Set<String> nameSet=prop.stringPropertyNames();
//遍历集合
for(String name:nameSet){
String value=prop.getProperty(name);
System.out.println(name+"::"+value);
}
}
其他电脑有区别:
"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" "-javaagent:D:\idea\IntelliJ IDEA 2018.3.1\lib\idea_rt.jar=61624:D:\idea\IntelliJ IDEA 2018.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;D:\idea_workspace\JavaSE\SystemClass\out\production\SystemClass" com.study.p1.otherapi.system.SystemDemo
java.runtime.name::Java(TM) SE Runtime Environment
sun.boot.library.path::C:\Program Files\Java\jdk1.8.0_191\jre\bin
java.vm.version::25.191-b12
java.vm.vendor::Oracle Corporation
java.vendor.url::http://java.oracle.com/
path.separator::;
java.vm.name::Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg::sun.io
user.script::
user.country::CN
sun.java.launcher::SUN_STANDARD
sun.os.patch.level::
java.vm.specification.name::Java Virtual Machine Specification
user.dir::D:\idea_workspace\JavaSE\SystemClass
java.runtime.version::1.8.0_191-b12
java.awt.graphicsenv::sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs::C:\Program Files\Java\jdk1.8.0_191\jre\lib\endorsed
os.arch::amd64
java.io.tmpdir::C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator::
java.vm.specification.vendor::Oracle Corporation
user.variant::
os.name::Windows 10
sun.jnu.encoding::GBK
java.library.path::C:\Program Files\Java\jdk1.8.0_191\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\XShell6\soft\;D:\Maven-3.5.2\apache-maven-3.5.2\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_191\bin;C:\Program Files\Java\jdk1.8.0_191\jre\bin;D:\mysql-5.5.56\bin;D:\Git-2.12.2.2\Git\cmd;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\Tools\Oracle Command Line Tools\instantclient-basiclite-windows.x64-12.1.0.1.0\instantclient_12_1;D:\VisualSVN-Server-4.0.3-x64\bin;D:\TortoiseGit-2.4.0.2-64bit\bin;D:\TortoiseSVN-1.12.1.28628-x64\bin;E:\gradle-5.6.2\gradle-5.6.2\bin;D:\node.js\;D:\mysql5.56\bin;D:\python\Scripts\;D:\python\;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Administrator\AppData\Local\BypassRuntm;C:\Users\Administrator\AppData\Local\GitHubDesktop\bin;D:\SSHSecureShellClient-3.2.9;C:\Users\Administrator\AppData\Roaming\npm;D:\JetBrains PyCharm 2019.3.1\PyCharm 2019.3.1\bin;;.
java.specification.name::Java Platform API Specification
java.class.version::52.0
sun.management.compiler::HotSpot 64-Bit Tiered Compilers
os.version::10.0
user.home::C:\Users\Administrator
user.timezone::
java.awt.printerjob::sun.awt.windows.WPrinterJob
file.encoding::UTF-8
java.specification.version::1.8
user.name::Administrator
java.class.path::C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;D:\idea_workspace\JavaSE\SystemClass\out\production\SystemClass;D:\idea\IntelliJ IDEA 2018.3.1\lib\idea_rt.jar
java.vm.specification.version::1.8
sun.arch.data.model::64
java.home::C:\Program Files\Java\jdk1.8.0_191\jre
sun.java.command::com.study.p1.otherapi.system.SystemDemo
java.specification.vendor::Oracle Corporation
user.language::zh
awt.toolkit::sun.awt.windows.WToolkit
java.vm.info::mixed mode
java.version::1.8.0_191
java.ext.dirs::C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path::C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\classes
java.vendor::Oracle Corporation
file.separator::\
java.vendor.url.bug::http://bugreport.sun.com/bugreport/
sun.cpu.endian::little
sun.io.unicode.encoding::UnicodeLittle
sun.desktop::windows
sun.cpu.isalist::amd64
Process finished with exit code 0
通过以上键值对信息,可以写出在不同平台系统的实现换行操作。
//常量类开头就能获取到系统的换行符号
private static final String LINE_SEPARATOR=System.getProperty("line.separator");
//将换行方法添加到需要换行的业务处
//获取系统的换行标签进行换行
System.out.println("hello-"+LINE_SEPARATOR+"World");
3、为系统设置一些我们自定义的信息。
//为系统设置属性信息,这些信息是全局的,其他程序都可以使用
System.setProperty("computerAuthor", "James");