字节打印流 PrintStream
B:可以操作任意类型的数据
C:两种打印流都不抛出IOException
D:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新
F:可以直接操作文件
问题:哪些流可以直接操作文件呢?
看API,如果其构造方法能够同时接收File和String类型的参数,一般都是可以直接操作文件的
字符打印流 PrintWriter
PrintWriter与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。
特点:
A:只操作目的地,不操作数据源B:可以操作任意类型的数据
C:两种打印流都不抛出IOException
D:如果启用了自动刷新,在调用println()方法的时候,能够换行并刷新
F:可以直接操作文件
问题:哪些流可以直接操作文件呢?
看API,如果其构造方法能够同时接收File和String类型的参数,一般都是可以直接操作文件的
复制文本文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class CopyFileDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("testcopy.txt"));
String s = null;
while((s=br.readLine())!=null) {
pw.println(s); //相当于BufferedWriter的 write(),newLine(),flush()三种方法结合
}
br.close();
pw.close();
}
}