2

我有以下代码,它使用 ini4j 库将文件加载为 .ini 文件。

Ini configIni;

public void setupConfig()
{
    String configFilePath = "config.ini";
    
    File config = new File(configFilePath);
    
    if(config.exists())
    {
        try
        {
            configIni = new Ini(config);
        }
        catch(Exception e)
        {
            config.delete();
            config.deleteOnExit();
            e.printStackTrace();
        }
    }
}

如果无法正确解析,它将引发异常。问题是,我想在发生这种情况时删除配置文件,以便用它替换默认文件。但是由于某种原因,即使configIni为空,应用程序也会保留该文件。

我不知道如何告诉 ini4j 或 Java 放手/关闭配置文件的流,以便我可以删除它。任何想法我怎么能做到这一点?

4

1 回答 1

0

在当前代码中,似乎 Ini 类在文件上工作,并且不给您对流的任何访问权限。

所以要么

  • 您依靠该库已经关闭了流
  • 或者您可能会尝试找到一个从输入流中读取 ini 的替代构造函数。在这种情况下,流处理由您控制,您应该能够在 finally 块中关闭它。
于 2021-01-25T07:43:05.663 回答