简介
System——系统类,顾名思义就是对系统底层的操作。可以直接引用,不能被实例化。主要的功能有:
- 提供的设施包括标准输入、标准输出和错误输出流。
- 访问外部定义的属性和环境变量。
- 加载文件和库的方法。
- 提供一种用于快速复制阵列的一部分的实用方法。
变量解析
// 标准输入流
public static final InputStream in;
// 标准输出流
public static final PrintStream out;
// 标准错误输出
public static final PrintStream err;
// 安全管理器
private static volatile SecurityManager security;
// 命令行
private static volatile Console cons;
// 访问外部定义的属性和环境变量
private static Properties props;
// 获取当前系统的行分隔符
private static String lineSeparator;
标准输入流——InputStream in
“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入、主机环境指定的另一个输入源、用户指定的另一个输入源。(官方解释)
涉及函数
-
public static void setIn(InputStream in) // 设置输入流
-
private static native void setIn0(InputStream in) //调用本地库中的函数
具体用法
// 1.将标准输入流重新指向(键盘输入)
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一些文本:");
String text = scanner.nextLine(); // 读取用户输入的一行文本
System.out.println("你输入的文本是:" + text);
// 2.将标准输入流重新指向(主机环境指定的另一个输入源)
// 这里主机环境应该是指JRE,猜测应该是调用 private static native void setIn0(InputStream in)
// 3.将标准输入流重新指向(用户指定的另一个输入源)
// System.setIn(new FileInputStream(this.getClass().getResource("").getPath()+"\\file.txt"));
System.setIn(new FileInputStream(DirllSystem.class.getResource("").getPath()+"\\file.txt"));
// 打印
int data;
while ((data = System.in.read()) != -1) {
System.out.print((char) data);
}
标准输入流——InputStream out
“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示输出或主机环境或用户指定的另一个输出目的地。(官方解释)
涉及函数
-
public static void setOut(PrintStream out) // 设置输出流
-
private static native void setOut0(PrintStream out); //调用本地库中的函数
具体用法
// 1.输出流已打开并准备接受输出数据,此流对应于显示输出
System.out.println("cba");
// 2.输出流已打开并准备接受输出数据,此流对应于显示主机环境指定的另一个输出目的地
// private static native void setOut0(PrintStream out)
// 3.输出流已打开并准备接受输出数据,此流对应于显示用户指定指定的另一个输出目的地
File file =new File(DirllSystem.class.getResource("").getPath()+"\\file2.txt");
PrintStream printStream = new PrintStream(file);
printStream.println("adc");
结语
以上就是本期的内容,下期继续进行类的解析。