Java中的杂流(闸总)

别说谁变了你拦得住时间么 提交于 2019-12-05 07:37:50

标准输入输出流

System.in:

标准输入流是InputStream的子类对象,字节输入流,只不过是jvm给定的唯一一个从键盘控制条读入的流。
public static final InputStream in
此流供全局使用,尽量不要关闭,只要程序中有地方关闭该流,其他地方将不能使用。
自己封装键盘录入:
字节流:


字符流:


字符流一次读一行:

System.out:

字节输出流是PrintStream类型的字节输出流。只不过是jvm给定的一个唯一指向控制台的流。
此流供全局使用,尽量不要关闭,只要程序中有地方关闭该流,其他地方将不能使用。

System.err:

System.err : 标准错误流,异常就是用此流打印出来的。
另外此流的流向可以改变。使得异常信息输出到指定文件保存
System.err.println("abc"); //打印出来的abc是红色的
System.err.setErr(new PrintStream("a.txt"));
int a = Integer.parseInt("hehe");// 此处会出现运行时异常,但是异常信息和原因和位置都被输出到了a.txt中。控制台不再显示。

打印流:(全部都只有输出流)

字节打印流:PrintStream

PrintStream ps = new PrintStream("a.txt");
ps.write(97); // a
ps.print(97); // 97 底层 write((97+"").getBytes());
ps.println(97); // 97 + 回车 底层 write((97+"").getBytes()); bw.newLine();
ps.close();

字符输出流: PrintWriter

PrintWriter pw = new PrintWriter("a.txt");
pw.write(97); // 打开 a.txt 没有内容
pw.write("\r\n"); //打开 a.txt 没有内容
pw.println(97); // 打开 a.txt 没有内容 因为我们没有再PrintWriter的构造方法里面 开启自动刷新
pw.flush(); // 打开 a.txt 看到 a 换行 97 换行

//PrintWriter pw = new PrintWriter("a.txt",true); //编译报错 没有这样的构造方法
PrintWriter pw = new PrintWriter(new FileWriter("a.txt"),true);
pw.write(97); // 打开 a.txt 没有内容
pw.write("\r\n") //打开 a.txt 没有内容
pw.println(97); // 打开 a.txt 看到 a 换行 97 换行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!