如何判断FileOutputStream output是否关闭?

sAS112UUUYY111 2010-04-01 04:16:48
在java程序中,如何判断FileOutputStream output是否关闭?
...全文
1393 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang2chenggong 2010-04-07
  • 打赏
  • 举报
回复
继续。。。。。。。。。。。
zcywell 2010-04-07
  • 打赏
  • 举报
回复
学习中。。。。
sAS112UUUYY111 2010-04-07
  • 打赏
  • 举报
回复
谢谢提示
dinghun8leech 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 justlearn 的回复:]
out.getFD().valid()
该返回值是ture就是连接存在并且有效
如果返回false就是连接已关闭或者文件失效
可以自己尝试下,
out.close();
System.out.println(out.getFD().valid());
[/Quote]
+1
yugong2009 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 so185582 的回复:]
引用 1 楼 sas112uuuyy111 的回复:
if(output==null)来判断是否关闭可以吗?

不行,output关闭了,output也不会==null的
[/Quote]

请问高手,这是什么原因呢?
孤独剑客 2010-04-06
  • 打赏
  • 举报
回复
out.close();
out.write('1');
这个时候会抛出一个异常
如果有异常抛出就说明已经关闭了
justlearn 2010-04-06
  • 打赏
  • 举报
回复
out.getFD().valid()
该返回值是ture就是连接存在并且有效
如果返回false就是连接已关闭或者文件失效
可以自己尝试下,
out.close();
System.out.println(out.getFD().valid());
SealedBook 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 justlearn 的回复:]
out.getFD().valid()
该返回值是ture就是连接存在并且有效
如果返回false就是连接已关闭或者文件失效
可以自己尝试下,
out.close();
System.out.println(out.getFD().valid());
[/Quote]
学习了..
WilliamTau 2010-04-06
  • 打赏
  • 举报
回复
mark~~~~~~
SambaGao 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xxxholic110 的回复:]
安全关闭流:
if(output!=null) {
output.close();
}
内存分析:
例如:FileOutputStream fos = new FileOutputStream("...");
变量fos被分配在STACK上,然而new FileOutputStream("...")被分配在HEAP(堆)上,fos
这个变量(即在内存的栈上)存储的是后面……
[/Quote]

的确有点意思
xxxholic110 2010-04-06
  • 打赏
  • 举报
回复
安全关闭流:
if(output!=null) {
output.close();
}
内存分析:
例如:FileOutputStream fos = new FileOutputStream("...");
变量fos被分配在STACK上,然而new FileOutputStream("...")被分配在HEAP(堆)上,fos
这个变量(即在内存的栈上)存储的是后面new出来的HEAP上那块内存的地址(当然是逻辑址),
(即fos指向堆上这块内存空间,并且控制HEAP这块内存)。如果让fos为NULL(即为空),也就没有任何
变量(像fos这个变量)指向这个堆空间,垃圾收集器就会自动释放堆上这块内存空间,也就是关闭流。
poFate 2010-04-03
  • 打赏
  • 举报
回复
out.close();
out.write(1);
这个时候会抛出一个异常
如果有异常抛出就说明已经关闭了
antiehui 2010-04-03
  • 打赏
  • 举报
回复
高手在哪里,到底是怎么回事啊!
sharke118 2010-04-02
  • 打赏
  • 举报
回复
FileOutputStream output 往里面写东西 如果报错 那就是流关闭了 可以catch 一个IOException 异常
sAS112UUUYY111 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 so185582 的回复:]
引用 1 楼 sas112uuuyy111 的回复:
if(output==null)来判断是否关闭可以吗?

不行,output关闭了,output也不会==null的
[/Quote]
关闭了还不等于null是怎么回事?
sAS112UUUYY111 2010-04-02
  • 打赏
  • 举报
回复
在API里没发现,有哪位知道怎么办?
智鹿软件 2010-04-02
  • 打赏
  • 举报
回复
看看API里面有没有啊!
dam8568 2010-04-02
  • 打赏
  • 举报
回复
不知道你为什么要判断它是否关闭。
它本身是不会自动关闭的,需要手动关闭。用完及时关掉就行了,这是编程的基本要求。
sAS112UUUYY111 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 so185582 的回复:]
引用 1 楼 sas112uuuyy111 的回复:
if(output==null)来判断是否关闭可以吗?

不行,output关闭了,output也不会==null的
[/Quote]

你说的对,但是怎样来判断是否关闭呢?
有人知道吗?谢谢了。
so185582 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sas112uuuyy111 的回复:]
if(output==null)来判断是否关闭可以吗?
[/Quote]
不行,output关闭了,output也不会==null的
加载更多回复(2)

62,634

社区成员

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

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