Java io流的问题

weixin_Li 2018-07-07 10:52:11

想不明白为什么有输出流的时候打印输入流的字符为什么是null呢
...全文
1521 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
verejava 2018-09-28
  • 打赏
  • 举报
回复
Java IO流 之 BufferedReader BufferedWriter 实例 http://www.verejava.com/?id=16994737475720
2dot5 2018-09-27
  • 打赏
  • 举报
回复
需要刷一下 ,这里有更好的方法文件IO处理
java1357924680 2018-09-27
  • 打赏
  • 举报
回复
Java不走弯路学习路线,练习,资料等参考
http://www.java123.vip
隐语者 2018-09-18
  • 打赏
  • 举报
回复
BufferedWriter和BufferedReader之间要bufferedWriter.flush(),输出流Write之后要清除缓存,才能立即Reader到,数据都保存在缓存流中。
zhtoad 2018-09-17
  • 打赏
  • 举报
回复
刷新缓存 flush一下就可以
DamonCai0 2018-09-16
  • 打赏
  • 举报
回复
写完之后需要刷新一下!
qq_41540648 2018-09-03
  • 打赏
  • 举报
回复
先关输入流,在关输出流。在刷新缓存
冲上云霄 、 2018-08-31
  • 打赏
  • 举报
回复
因为缓存,你要刷新一下才行
隐语者 2018-08-31
  • 打赏
  • 举报
回复
BufferedWriter时缓存流,你这样连续的存、读操作,是需要flush一下的,强制释放缓存区内容,这样就能读到文件内容了。
Surrin1999 2018-08-30
  • 打赏
  • 举报
回复
字符流的原因 flush下就好了
hyhssm 2018-08-30
  • 打赏
  • 举报
回复
缓存流,flush下
cauchy6317 2018-08-30
  • 打赏
  • 举报
回复
flush一下刷新到硬盘
奋斗的新丁 2018-08-03
  • 打赏
  • 举报
回复
使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。如果要在缓冲区中数据未满的情况下将数据写入到目的地,需要使用flush()方法,将数据刷新一下。

引用 1 楼 z469441432 的回复:

BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("d:\\a.txt"));
BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("d:\\a.txt"));
BufferedReader bufferedReader=new BufferedReader(new FileReader("d:\\a.txt"));
bufferedWriter.write("who are you ?");
bufferedWriter.flush();
String s = bufferedReader.readLine();
bufferedReader.close();
bufferedWriter.close();
System.err.println("==="+s);

要flush一下
就像这样
HQZYX 2018-07-26
  • 打赏
  • 举报
回复
public static void main(String[] args){
BufferedWriter write = null;
BufferedReader reader=null;
String str = null;
try {
write = new BufferedWriter(new FileWriter("D:\\abc.txt"));
write.write("HELLO WORD");
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
write.flush();
write.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

try {
reader = new BufferedReader(new FileReader("D:\\abc.txt"));
str = reader.readLine();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}

System.out.println(str);
}

你在对一个文件写入操作的时候,要么flush要告诉后面不允许写入,或者将流关闭,然后再做读取流的操作。(抱歉只能说这么多,怕误人子弟
木子0204 2018-07-24
  • 打赏
  • 举报
回复
bufferedWriter.flush();

这个是内容刷出到文本文件里面
幸运diy 2018-07-24
  • 打赏
  • 举报
回复
因为在你打印之前你写入的东西还在缓冲区,没有刷新入硬盘,你可以先关闭bufferedWrite,在创建BufferedReader
luffysk 2018-07-16
  • 打赏
  • 举报
回复
把writer关闭的代码移到创建输入流之前,调用close方法时会自动刷新。
hang199309 2018-07-13
  • 打赏
  • 举报
回复
flush下
weixin_41385333 2018-07-13
  • 打赏
  • 举报
回复
在 bufferedWrite.write("who are you?"); 后面加上

bufferedWrite.flush(); 刷新一下流


verejava 2018-07-09
  • 打赏
  • 举报
回复
Java IO流 之 BufferedReader

http://www.verejava.com/?id=16994684528313
加载更多回复(4)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧