package cn.bruce.IO;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class PrintWriteDemo {
public static void main(String[] args) throws IOException {
fun();
fun1();
fun2();
fun3();
fun4();
}
// 打印流,向file对象的数据目的写入数据
// 方法print println原样输出
// write方法走码表
public static void fun() throws FileNotFoundException {
File f = new File("E:\\A\\TEST.TXT");
PrintWriter pw = new PrintWriter(f);
pw.println(100);// 原样输出100
pw.println("我是");// 原样输出我是
pw.write(100);// 码表输出d
// 字符流需要刷新,但是可以直接用close进行刷新并关闭
pw.close();
}
// 打印流,输出目的,String文件名
public static void fun1() throws FileNotFoundException {
PrintWriter pw = new PrintWriter("E:\\A\\TEST1.TXT");
pw.println(4.333);// 原样输出4.333
pw.close();
}
// 打印流,输出目的 流对象
// 可以是字节输出流OutputStream,也可以字符输出流Write
public static void fun2() throws IOException {
FileOutputStream fos = new FileOutputStream("E:\\A\\TEST2.TXT");
FileWriter fw = new FileWriter("E:\\A\\TEST3.TXT");
PrintWriter pw = new PrintWriter(fos);
pw.println(6.66);// 原样输出6.66
pw.close();
PrintWriter pw1 = new PrintWriter(fw);
pw1.println(7.77);// 原样输出7.77
pw1.close();
}
// 打印流开启自动刷新
// 输出目的必须是流对象 OutputStream Write
// 只有在调用printf println format时才可以
public static void fun3() throws IOException {
FileOutputStream fos = new FileOutputStream("E:\\A\\TEST4.TXT");
PrintWriter pw = new PrintWriter(fos, true);
pw.println(1.11);// 原样输出1.11
pw.println(2.22);// 原样输出2.22
pw.println(3.33);// 原样输出3.33
pw.close();
}
// 打印流实现文本复制
// 读取数据源BufferedReader+File读取文本行
// 写入数据目的PrintWrite+Println自动刷新
public static void fun4() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("E:\\A\\TEST4.TXT"));
PrintWriter pw = new PrintWriter(new FileWriter("E:\\A\\TEST5.TXT"), true);
String line = null;
while ((line = br.readLine()) != null)
{
pw.println(line);
}
pw.close();
br.close();
}
}