复制Java文件_打印流改进版
需求:把"D:\huanf\java\src\ch18_ch19储物区\pw.txt"文件复制到"D:\huanf\java\src\ch18_ch19储物区\JavaSE"目录里面
思路: 1、根据数据源创建字符输入流对象 2、根据目的地创建字符输出流对象 3、读写数据,创建文件 4、释放资源
复制Java文件_打印流改进版的练习
xxxxxxxxxx
package ch20;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
//需求:把"D:\huanf\java\src\ch18_ch19_储物区\pw.txt"文件复制到"D:\huanf\java\src\ch18_ch19_储物区\JavaSE"目录里面
//提示:复制之后的文件如果不想叫"pw.txt",而是想叫copy.txt,即把下面第二步的目的文件改为"D:\huanf\java\src\ch18_ch19_储物区\JavaSE\copy.txt"
public class a_9_1测试 {
public static void main(String[] args) throws IOException {
//1、根据数据源创建字符输入流对象。这里使用的是字符缓冲输入流
BufferedReader br = new BufferedReader(new FileReader("D:\\huanf\\java\\src\\ch18_ch19_储物区\\pw.txt"));
//2、根据目的地创建字符输出流对象。这里使用的是字符缓冲输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\huanf\\java\\src\\ch18_ch19_储物区\\JavaSE\\pw.txt"));
//3、读写数据,创建文件
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();//换行
bw.flush();//刷新流
//上面的3步其实可以一步解决,就是使用上一节课学的打印流的print/println方法。即使用打印流改进,如下面那部分
}
//4、释放资源
bw.close();
br.close();
//--------------------------------------------------------------------------------------------------------------------
//需求:把"D:\huanf\java\src\ch18_ch19_储物区\pw2.txt"文件复制到"D:\huanf\java\src\ch18_ch19_储物区\JavaSE"目录里面
//打印流改进,如下
//注意:打印流只负责写数据,不负责读数据,所以上面的读数据的bw我们需要照搬复制过来为br2
BufferedReader br2 = new BufferedReader(new FileReader("D:\\huanf\\java\\src\\ch18_ch19_储物区\\pw2.txt"));
//使用打印流
PrintWriter pw = new PrintWriter(new FileWriter("D:\\huanf\\java\\src\\ch18_ch19_储物区\\JavaSE\\pw2.txt"),true);
//读写数据,创建文件
String line2;
while ((line2=br2.readLine())!=null){
pw.println(line2);
}
//4、释放资源
pw.close();
br2.close();
}
}