fr=new FileWriter("e:/test/test.txt");
for(int i=0;i<200;i++){
fr.write(i);
}
fr.close();
当我不加fr.close()时test文件里什么都没有,加了close()这个方法后,才有内容。而用FileOutputStream()时,不调用close()方法却可以
for(int i=0;i<200;i++){
fr.write(i);
}
fr.close();
当我不加fr.close()时test文件里什么都没有,加了close()这个方法后,才有内容。而用FileOutputStream()时,不调用close()方法却可以
刷新该流的缓冲。 才会真正的写到文件中
+1 flush()是把数据从冲缓存中写进文本。
close()其实在这个方法执行之前先调用了flush()方法刷出数据
try {
fr = new FileWriter("e:/test/test.txt");
for (int i = 0; i < 200; i++) {
fr.write(i);
}
} catch (IOException e) {
e.printStackTrace();
} finally { try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}我试了下,写入的内容如下:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~????????????????????????????????????¤??§¨???????°±?????·????????????????
怎么回事?