【问题标题】:RandomAccessFiles don't close until application exitRandomAccessFiles 在应用程序退出之前不会关闭
【发布时间】:2023-03-12 16:31:01
【问题描述】:

我正在开发一个使用 RandomAccessFile 的项目。我遇到的最大问题是,即使我在访问文件后关闭文件,文件也不会关闭,直到整个应用程序退出。这是标准行为还是有人知道发生了什么?代码基本上是这样的:

RandomAccessFile raf = new RandomAccessFile(f);
//do stuff
raf.close();

我使用 RandomAccessFile 的两个部分都是这样的(即我 100% 确定我正在关闭文件。)

【问题讨论】:

    标签: java binaryfiles


    【解决方案1】:

    你要确保你的关闭是在这样的 finally 块内

    RandomAccesFile raf = null;
    try {
        raf = new RandomAccessFile(f);
        //do stuff
    } finally {
       if (raf != null) {
          raf.close();
       }
    }
    

    否则异常会导致 close() 永远不会被执行。

    【讨论】:

    • @Martin OConnor:当然,您还应该检查 raf.close() 上的空值。
    • 谢谢,还是不习惯用java归档i/o。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多