Java-装饰流- 打印流

在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();
		
		
		
		
		

	}

}

猜你喜欢

转载自blog.csdn.net/qq_43287650/article/details/83827729