在BufferedWriter写完后加上flush就好了
上代码:
@Test
public void testBuffReaderAndeWriter(){
FileReader reader = null;
FileWriter writer = null;
BufferedReader bufferedReader= null;
BufferedWriter bufferedWriter = null;
char[] chars = new char[128];
int len = -1;
try {
reader = new FileReader(new File("src/test.txt"));
bufferedReader = new BufferedReader(reader);
writer = new FileWriter(new File("src/test1.txt"));
bufferedWriter = new BufferedWriter(writer);
System.out.println(bufferedReader);
while ((len=bufferedReader.read(chars))!=-1){
System.out.println(len+"????"+Arrays.toString(chars));
bufferedWriter.write(chars,0,len);
}
bufferedWriter.flush();//很重要,不然写不进去,存在缓冲区了就
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("11111111");
} catch (IOException e) {
e.printStackTrace();
System.out.println("2222222222");
} finally {
try {
if(reader!=null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("rrrrrrrrrrrrrrr");
}
try {
if(writer!=null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("wwwwwwwwwwwwwwwwwwwwww");
}
try {
if(bufferedReader!=null) {
bufferedReader.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("bbbbbbbbbbbbbbbbrrrrrrrrrrrr");
}
try {
if(bufferedWriter!=null) {
bufferedWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("bbbbbbbbbbbbbbbbbbbwwwwwwwwwwwwwwwww");
}
}
}