请教一个匪夷所思的问题。

hurricane313 2017-03-24 06:52:15
JDOM写XML文件,代码如下:
XMLOutputter XMLOut = new XMLOutputter(format);
XMLOut.output(doc, new FileOutputStream("studentinfo.xml"));
output函数第二个参数,大多例子都是这么个写法。
请问,如何close掉FileOutputStream?
...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hurricane313 2017-03-30
  • 打赏
  • 举报
回复
引用 6楼幽饮烛 的回复:
像这种 XMLOut.output(doc, new FileOutputStream("studentinfo.xml")); 写法,在程序退出会自动关闭, 或者 gc 的时候,会关闭,但 gc 是不固定触发的,你不知道什么时候会关闭输出流。
谢谢你的解答。送分!
幽饮烛 2017-03-27
  • 打赏
  • 举报
回复
像这种 XMLOut.output(doc, new FileOutputStream("studentinfo.xml")); 写法,在程序退出会自动关闭, 或者 gc 的时候,会关闭,但 gc 是不固定触发的,你不知道什么时候会关闭输出流。
幽饮烛 2017-03-27
  • 打赏
  • 举报
回复
不是所有例子都是最佳写法,有些例子只是为了实现功能而写,不管是否会引发其它问题。
幽饮烛 2017-03-27
  • 打赏
  • 举报
回复
XMLOutputter XMLOut = new XMLOutputter(format); try ( FileOutputStream fs = new FileOutputStream("studentinfo.xml")) { XMLOut.output(doc,fs ); }
hurricane313 2017-03-27
  • 打赏
  • 举报
回复
引用 2楼zonghsh007 的回复:
没用过JDOM,不过你说例子都是这么写的话,估计 XMLOut.output()方法里应该会有close 文件流的操作。
我看过jdom源码,里面没有close,只有flush
一剑侵心 2017-03-27
  • 打赏
  • 举报
回复
没用过JDOM,不过你说例子都是这么写的话,估计 XMLOut.output()方法里应该会有close 文件流的操作。
hurricane313 2017-03-24
  • 打赏
  • 举报
回复
没有人知道吗?

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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