微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果文件正在被输入流读取,则删除文件不会抛出 IOException

如何解决如果文件正在被输入流读取,则删除文件不会抛出 IOException

在通过 BufferedReader 读取文件时,如果我通过 rm -rf 删除文件,则 BufferedReader 将在没有 IOException 的情况下终止

解决方法

这是正常的预期行为。在类 Unix 系统上删除文件包括删除指向目录条目表中文件数据位置的链接。当没有指向文件的链接,并且没有文件描述符打开它时,它的空间将被回收。由于当前打开了一个文件描述符(通过使用 BufferedReader),它将保持打开状态,直到 BufferedReader 完成。尽管该文件已打开,但它在目录列表中不可见。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。