PrintStream(可以将字节流封装成打印流)继承于FilterOutputStream,FilterOutputStream是继承于OutputStream的;PrintWriter(可以将字节流、字符流封装成打印流)继承于Writer的。
其中可以使用PrintStream进行重定向的操作:
系统标准输入流的方向:控制台 -> 程序,重新定义系统标准输入流使用的方向System.setIn(),重新定义后的方向为:文件->程序
系统的标准输出流的方向:程序->控制台,重定向系统标准输出流使用的方法System.setOut(),重新定义后的方向为:程序->文件
关于其的一些常用方法,这里不做多的介绍,API中已经很完善了,需要用的时候参照API即可。
下面通过实例代码来对其进行学习:
①使用PrintStream进行打印到文件的操作
@Test
public void t1() throws Exception{
PrintStream ps = new PrintStream(new FileOutputStream("H:\\javaio\\testofprint.txt"));
ps.print("我是打印流测试(PrintStream)");
ps.close();
}
②使用PrintWriter进行打印到文件的操作
@Test
public void t2() throws Exception{
PrintWriter pw = new PrintWriter(new FileWriter("H:\\javaio\\testofprint.txt"));
pw.write("我是打印流测试(PrintWriter)");
pw.close();
}
③使用打印流进行重定向的操作,从文件读取内容到程序
@Test
public void t3() throws Exception{
System.setIn(new FileInputStream("H:\\javaio\\testofprint.txt"));
Scanner input = new Scanner(System.in);
String next = input.next();
System.out.println(next);
input.close();
}
④使用打印流进行重定向的操作,从程序到文件
//使用打印流进行重定向操作,从程序将内容打印到文件
@Test
public void t4() throws Exception{
System.setOut(new PrintStream("H:\\javaio\\testofprint.txt"));
System.out.println("我是打印流重定向操作");
}
Java中io流的学习(一)File:https://blog.csdn.net/qq_41061437/article/details/81672859
Java中io流的学习(二)FileInputStream和FileOutputStream:https://blog.csdn.net/qq_41061437/article/details/81742175
Java中io流的学习(三)BuffereInputStream和BuffereOutputStream:https://blog.csdn.net/qq_41061437/article/details/81743522
Java中io流的学习(四)InputStreamReader和OutputStreamWriter:https://blog.csdn.net/qq_41061437/article/details/81745300
Java中io流的学习(五)FileReader和FileWriter:https://blog.csdn.net/qq_41061437/article/details/81747105
Java中io流的学习(六)BufferedReader和BufferedWriter:https://blog.csdn.net/qq_41061437/article/details/81747323
Java中io流的学习(七)ObjectInputStream和ObjectOutputStream:https://blog.csdn.net/qq_41061437/article/details/81748461
Java中io流的学习(八)PrintStream和PrintWriter:https://blog.csdn.net/qq_41061437/article/details/81782770
Java中io流的学习(九)RandomAccessFile:https://blog.csdn.net/qq_41061437/article/details/81805351
Java中io流的学习(十)ByteArrayInoutStream和ByteArrayOutputStream:https://blog.csdn.net/qq_41061437/article/details/81806245
Java中io流的学习(十一)NIO:https://blog.csdn.net/qq_41061437/article/details/81809370
Java中io流的学习(总结):https://blog.csdn.net/qq_41061437/article/details/81740680