关于java流的问题,我对pp.txt文件写数据,写完之后为什么一定要刷新才能读数据?
//写了3个随机数到文件中,然后再对这个文件进行读取,如果没有flush()就读不出来,但是文件中确确实实已经写了数据进去,请问这是为什么,importjava.io.*...
//写了3个随机数到文件中,然后再对这个文件进行读取,如果没有flush()就读不出来,但是文件中确确实实已经写了数据进去,请问这是为什么,
import java.io.*;
public class Text30 {
public static void main(String[] args){
try{
BufferedReader br=new BufferedReader(new FileReader("D:\\text\\pp.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\text\\pp.txt"));
String str=null;
for(int i=0;i<3;i++){
str=String.valueOf(Math.random());
bw.write(str);
bw.newLine();//写完一个字符加一个换行符
}
bw.flush();//
while((str=br.readLine())!=null){
System.out.println(str);
}
bw.close();
br.close();
}catch(IOException e){
System.out.println("读写错误");
}
}
} 展开
import java.io.*;
public class Text30 {
public static void main(String[] args){
try{
BufferedReader br=new BufferedReader(new FileReader("D:\\text\\pp.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\text\\pp.txt"));
String str=null;
for(int i=0;i<3;i++){
str=String.valueOf(Math.random());
bw.write(str);
bw.newLine();//写完一个字符加一个换行符
}
bw.flush();//
while((str=br.readLine())!=null){
System.out.println(str);
}
bw.close();
br.close();
}catch(IOException e){
System.out.println("读写错误");
}
}
} 展开
3个回答
展开全部
只有在刷新了以后,内存当中的数据会被改变,不刷新的话,你始终是在读内存中的东西。因为操作系统为了效率,不会直接去读硬盘中的东西的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不flush的话只是写进缓存,只有flush或者关闭,才会写入磁盘
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我没看到有错误,你的流也都关闭了,你看看代码顺序是否有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询