java 流的简单问题

[复制链接]
查看11 | 回复3 | 2010-9-19 17:17:43 | 显示全部楼层 |阅读模式
import java.io.*;
public class Buffered2 {
public static void main(String[] args){
FileReader r1=null;
FileWriter r2=null;
BufferedReader t1=null;
BufferedWriter t2=null;
try{
r1=new FileReader("E:\\he.txt");
r2=new FileWriter("E:\\he.txt");
t1=new BufferedReader(r1);
t2=new BufferedWriter(r2);

}catch (IOException e)/*为什么用FileNotFoundException 不行??*/

{
e.printStackTrace();
}
String q1;
try{
for(int i=1;i<=10;i++){
q1=String.valueOf (Math.random());
t2.write(q1);
t2.newLine();//没写成功?
}
}catch(IOException e){
System.out.print("错误!");
}
}
}
运行成功后,检查he.txt但里面是空啊!!怎么回事?

回复

使用道具 举报

千问 | 2010-9-19 17:17:43 | 显示全部楼层
其实原因很简单,没有清空缓冲t2.newLine();//没写成功? 后面加入下面语句:t2.flush();程序问题有点多,头痛
回复

使用道具 举报

千问 | 2010-9-19 17:17:43 | 显示全部楼层
是对O/I的理解不到位。读:read,就是建立程序与文件的读连接通道,再执行读内容,如readline。写:write,先建立程序与文件的输出连接通道,执行写。记得关闭通道。
回复

使用道具 举报

千问 | 2010-9-19 17:17:43 | 显示全部楼层
r1=new FileReader("包名+类名");把这个换成你当前这个程序的目录。即包名+类名catch (IOException e)/*为什么用FileNotFoundException 不行??*/是因为这只是FileReader的异常,FileWriter("E:\\he.txt")也可能报异常。如果你要用FileReader的异常,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行