299 字符缓冲流复制Java文件
【需求】略
【思路】
准备一个java文件,不要放在模块目录下,用sublime打开查看
创建BufferedReader对象,调用read方法,实现读数据
创建BufferedWriter对象,调用write方法,实现写数据
【注意点】
BufferedReader对象包含FileReader对象,fr对象包含文件地址
BufferedWriter对象包含FileWriter对象,fw对象包含文件地址
【Prepare的代码思路】
创建OutputStreamWriter对象,需要包含fos对象,fos对象中包含地址
osw.write方法写入内容,参数给一个字符串就好。
关闭osw
【报错了】
数据源是C盘下develper文件夹内的文件时,就会报错FileNotFoundException,换成模块下的目录就没有问题
--------------------------------------------------------------
package e299;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class Prepare {
public static void main(String[] args) throws IOException {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:\\develper\\QQ.java"));
osw.write("package e299;\n" +
"\n" +
"public class QQ {\n" +
" public static void main(String[] args) {\n" +
" System.out.println(\"QQ.java\");\n" +
" }\n" +
"}\n");
osw.close();
}
}
--------------------------------------------------------------
package e299;
import java.io.*;
public class CopyJavaDemo {
public static void main(String[] args) throws IOException {
BufferedReader br299 = new BufferedReader(new FileReader("myCharStream\\src\\e299\\Prepare.java"));
BufferedWriter bw299 = new BufferedWriter(new FileWriter("myCharStream\\src\\e299\\pre.txt"));
char[] chs = new char[1024];
int len;
while ((len = br299.read(chs)) != -1) {
bw299.write(chs, 0, len);
}
br299.close();
bw299.close();
}
}