Java 中的 `System` 类是一个final类,它提供了与系统相关的属性和方法。它是一个内置的类,可以直接使用,不需要实例化。`System` 类提供了标准输入、标准输出和错误输出流,以及对外部定义的属性和系统环境的访问。下面是 `System` 类的一些常用方法,以及它们的简单示例。
标准输入输出流
标准输出(`System.out`)
public class SystemOutExample {
public static void main(String[] args) {
System.out.println("Hello, World!"); // 打印并换行
System.out.print("This is a "); // 打印不换行
System.out.print("simple example.\n"); // 打印并换行
}
}
标准输入(`System.in`)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SystemInExample {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter your name:");
String name = reader.readLine();
System.out.println("Hello, " + name + "!");
}
}
标准错误输出(`System.err`)
public class SystemErrExample {
public static void main(String[] args) {
System.err.println("This is an error message.");
}
}
系统属性
获取系统属性
public class SystemPropertiesExample {
public static void main(String[] args) {
String javaVersion = System.getProperty("java.version");
System.out.println("Java version: " + javaVersion);
}
}
设置系统属性
public class SetSystemPropertyExample {
public static void main(String[] args) {
System.setProperty("myProperty", "myValue");
String myProperty = System.getProperty("myProperty");
System.out.println("myProperty: " + myProperty);
}
}
系统环境变量
获取环境变量
public class SystemEnvironmentExample {
public static void main(String[] args) {
String path = System.getenv("PATH");
System.out.println("PATH: " + path);
}
}
垃圾回收
强制垃圾回收
public class SystemGCExample {
public static void main(String[] args) {
// 提醒JVM进行垃圾回收
System.gc();
}
}
复制数组
数组复制
public class SystemArrayCopyExample {
public static void main(String[] args) {
int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[10];
System.arraycopy(src, 0, dest, 0, src.length);
for (int i : dest) {
System.out.print(i + " ");
}
}
}
加载文件和库
加载文件
public class SystemLoadExample {
public static void main(String[] args) {
// 加载文件(通常是本地库)
System.load("libraryname.dll");
}
}
加载库
public class SystemLoadLibraryExample {
public static void main(String[] args) {
// 加载库
System.loadLibrary("libraryname");
}
}
运行垃圾回收并返回内存使用情况
运行垃圾回收
public class SystemRunFinalizationExample {
public static void main(String[] args) {
// 运行垃圾回收
System.runFinalization();
}
}
获取系统时间
获取当前时间(以毫秒为单位)
public class SystemCurrentTimeMillisExample {
public static void main(String[] args) {
long currentTime = System.currentTimeMillis();
System.out.println("Current time in milliseconds: " + currentTime);
}
}
出口程序
退出程序
public class SystemExitExample {
public static void main(String[] args) {
System.out.println("This program will exit.");
System.exit(0); // 退出程序,状态码为0
}
}
总结
Java 的 `System` 类提供了对标准输入输出流、系统属性、环境变量、垃圾回收、数组复制、加载文件和库、获取系统时间以及退出程序等功能的访问。这些功能是Java程序与运行时环境交互的基础。了解和掌握 `System` 类的方法对于Java开发者来说是非常重要的。虽然这些方法通常不是复杂程序的核心,但它们是日常编程中不可或缺的工具。