问一个关于文件输出流比较奇怪的问题关于FileInputStream和FileOutputStream的.

deng4437 2008-02-14 09:45:24
大家好!我想问一下,下面的这个程序,为什么把红色部分的代码行去掉后,就能输出了,要不然,只能写文件到新建文本文档.txt,而系统不会输出,但是我两个方法都调用了.
应该如何改?



import java.io.*;

public class Test
{
File myFile;
FileInputStream in;
FileOutputStream out;

Test()throws Exception
{
myFile=new File("C:\\Documents and Settings\\myUser\\桌面\\text","新建文本文档.txt");

in=new FileInputStream(myFile);
out=new FileOutputStream(myFile);
}

private void read()throws Exception
{

byte buf[]=new byte[10];
int l;

while((l=in.read(buf,0,10))!=-1)
{
System.out.println(new String(buf));
}

in.close();
}

private void write(String s)throws Exception
{

byte buf[]=s.getBytes();

out.write(buf);

out.close();
}

public static void main(String args[])
{
try
{
Test i=new Test();
i.read();
i.write("rrrrdffdsfsfdsfsrrrr");
}
catch(Exception e){}

}

}
...全文
103 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
treeroot 2008-02-14
  • 打赏
  • 举报
回复
不奇怪,怎么同时打开文件两次?
dracularking 2008-02-14
  • 打赏
  • 举报
回复
文件对象应该是thread-safe的(在读的时候就不应该被写 抑或反之)
应挨个使用 在FileInputStream对象结束对文件对象的使用之后才
创建FileOutputStream对象

62,623

社区成员

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

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