打印流

/*
 * 打印流
 * 该流提供了打印方法,可以将各种数据类型的数据都原样打印
 * 
 * 字节打印流
 * printStream
 * 它可以直接操作文件对象,因此就比较重要。
 * 构造函数可以接收的参数类型:
 * 1.file对象
 * 2.字符串路径。String
 * 3.字节输出流。 OutputStream
 * 
 * 字符打印流
 * PrintWriter
 * 构造函数可以接收的参数类型:
 * 1.file对象
 * 2.字符串路径。String
 * 3.字节输出流。 OutputStream
 * 4.字符输出流。 Writer、
 * 
 */
package com.tgx.file;

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class PrintStreamDemo {

	public static void main(String[] args) throws IOException {
		
		//读取键盘操作
		BufferedReader bufr =
				new BufferedReader(new InputStreamReader(System.in));
		
		//这个通用性极强,往控制台打印,对应的对象的是字节输出流
		//PrintWriter out = new PrintWriter(System.out,true);//后面的true是即时刷新,只针对流而言
		
		//也可以写入到文件中,
		//可以是一个文件对象,也可以是一个String.文件要是不存在,就创建一个文件
		//PrintWriter out = new PrintWriter("printStream.txt");
		//但是这样的话就不会自动刷新文件的内容了,要程序退出时才会刷新。
		
		//那么可以将文件封装到文件流中
		PrintWriter out = new PrintWriter(new FileWriter("printString.txt"),true);
		
		String line = null;
		while((line=bufr.readLine())!=null){
			
			if(line.equals("exit")){
				
				System.out.println("成功退出...");
				out.close();
				bufr.close();
				break;
			}
			out.println(line.toUpperCase());//转换成大写书痴
			out.flush();
		}
		
		out.close();
		bufr.close();
	}
}

原文地址:https://www.cnblogs.com/tgxblue/p/4217410.html