Java学习笔记(一)—— 字符流的缓冲流练习
字符流的缓冲流练习
有一个英文句子构成的文件english.txt。 要求:按行读取,然后写入newenglish.txt中。产生一个文件的副本。
english.txt的内容为: The arrow missed the target. They rejected the
union demand. Where does this road go to?
代码实现
package iodemo;
import java.io.BufferedReader;
import java.io.BufferedWriter ;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class BufferTest {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
//缓冲流
BufferedWriter bfw = null;
BufferedReader bfr = null;
try {
File file = new File("src\\iodemo\\english.txt");
File file1 = new File("src\\iodemo\\newenglish.txt");
fr = new FileReader(file);
fw = new FileWriter(file1);
bfw = new BufferedWriter(fw);
bfr = new BufferedReader(fr);
String len = null;
while((len = bfr.readLine()) !=null) {
bfw .write(len);
bfw.newLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//关闭流资源
if(bfr!=null) {
try {
bfr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(bfw != null) {
try {
bfw. close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
然后在该包下创建一个文本english.txt
运行上面的代码,点击refresh即可得到生成的newenglish.txt文档