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开发者来说是非常重要的。虽然这些方法通常不是复杂程序的核心,但它们是日常编程中不可或缺的工具。