import java.io.*;
import java.util.*;public class TestBufferedOutputStream{
public static void main(String args[])throws IOException{
int c;
BufferedReader bi=
new BufferedReader(new FileReader("1.txt"));
BufferedWriter bo=
new BufferedWriter(new FileWriter("2.txt"));
String s=null;
while((s=bi.readLine())!=null){
bo.write(s);
bo.newLine();
}
}
}当前目录下有1.txt和2.txt文件,循环中怎么读不进2.txt中去啊?
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class TestBufferedOutputStream {
public static void main(String args[]) throws IOException {
BufferedReader bi = new BufferedReader(new FileReader("d:/1.txt"));
BufferedWriter bo = new BufferedWriter(new FileWriter("d:/2.txt"));
String s = null;
while ((s = bi.readLine()) != null) {
bo.write(s);
bo.newLine();
}
bo.close();
bi.close();
}
}
自己写到try-catch-finally中吧。
bi.close();中途需要强制存请bo.flush();
public static void main(String args[])throws IOException{
int c;
BufferedReader bi=
new BufferedReader(new FileReader("D:\\1.txt"));
BufferedWriter bo=
new BufferedWriter(new FileWriter("D:\\2.txt"));
String s=null;
while((s=bi.readLine())!=null){
bo.write(s);
bo.newLine();
bo.flush();
//bo.close();
}
bi.close();
bo.close();
}
}
首先你应该调用flush()方法,
再者你应该在读写完成以后关闭读写流!
JAVA基础之——剖析Jive的缓存机制给你个网站,看得懂就看,看不懂就算了,有些东西咱们初学者不宜深究,你只要记得一般情况下只要是写的操作最好都flush()一下,即将缓冲区的数据刷出来,另外关流是为了节省系统资源,特别是做服务器端软件,本来数据处理量就大,再用几个忘记关的流占用系统资源的话,系统很容易崩溃的- -!