Java io流的问题 想不明白为什么有输出流的时候打印输入流的字符为什么是null呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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一下 Java IO流 之 BufferedReaderhttp://www.verejava.com/?id=16994684528313 bufferedWriter.flush(); 在 bufferedWrite.write("who are you?"); 后面加上 bufferedWrite.flush(); 刷新一下流 flush下 把writer关闭的代码移到创建输入流之前,调用close方法时会自动刷新。 因为在你打印之前你写入的东西还在缓冲区,没有刷新入硬盘,你可以先关闭bufferedWrite,在创建BufferedReader bufferedWriter.flush(); 这个是内容刷出到文本文件里面 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要告诉后面不允许写入,或者将流关闭,然后再做读取流的操作。(抱歉只能说这么多,怕误人子弟) 使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。如果要在缓冲区中数据未满的情况下将数据写入到目的地,需要使用flush()方法,将数据刷新一下。就像这样 缓存流,flush下 字符流的原因 flush下就好了 flush一下刷新到硬盘 BufferedWriter时缓存流,你这样连续的存、读操作,是需要flush一下的,强制释放缓存区内容,这样就能读到文件内容了。 刷新缓存 flush一下就可以 BufferedWriter和BufferedReader之间要bufferedWriter.flush(),输出流Write之后要清除缓存,才能立即Reader到,数据都保存在缓存流中。 Java不走弯路学习路线,练习,资料等参考http://www.java123.vip Java IO流 之 BufferedReader BufferedWriter 实例 http://www.verejava.com/?id=16994737475720 参数传递的问题 JProgressBar问题 如下JAVA代码为什么画不了圆? hashCode重载时的疑问, prime为啥是31而不是其他? boolean c ? 1231 : 1237又是什么含义? 为什么在linux(FC6系统)下面eclipse不能运行debug 如何用JAVA获得局域网中的SQL Server服务器 html#文件怎么打开?再线等 弱弱的问题,大侠帮忙 关于动态网站设计中的文件上传问题 如何在jList中加入记录呢? 字符串常量池 本人新人刚学java 请教一个作业
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一下
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要告诉后面不允许写入,或者将流关闭,然后再做读取流的操作。(抱歉只能说这么多,怕误人子弟)
http://www.java123.vip