在io包里,打印流是输出最方便的类
主要包含字节打印流PrintStream,字符打印流PrintWriter
我们每天用到的system.out就是这个流
PrintStream是OutputStream的子类,把一个输出流的实例传递到打印流之后,可以更加方便地输出内容,相当于打印流把输出流重新包装一下
(1)PrintStream
import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
* 打印流 printStream
* @author MacBook
*
*/
public class PrintTest {
public static void main(String[] args) throws FileNotFoundException {
//打印流System.out 输出到控制台
PrintStream ps = System.out;
ps.println("打印流");
ps.println(true);
ps = new PrintStream(new BufferedOutputStream(new FileOutputStream("print.txt")),true);
ps.println("打印流");
ps.println(true);
//重定向输出端(到文件中,控制台不输出)
System.setOut(ps);
System.out.println("change");
ps.close();
//重定向回控制台
System.setOut(new PrintStream(
new BufferedOutputStream(
new FileOutputStream(
FileDescriptor.out)),true));//这个true相当于flush
System.out.println("i am backing..");
}
}
(2)PrintWriter
import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
/**
* 打印流 printWriter
* @author MacBook
*
*/
public class PrintTest {
public static void main(String[] args) throws FileNotFoundException {
//打印流System.out 输出到文件
PrintWriter pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream("print.txt")),true);
pw.println("打印流");
pw.println(true);
pw.close();
}
}