0

我正在尝试使用 ini4j 向 ini 文件写入内容。

当我调用 store() 方法时,它会引发 FileNotFound 异常,即使它位于我的项目目录中。

也许我的代码做错了什么?

主要的:

public class Main {

    public static Wini ini = null;

    public static void main(String[] args) {

        Config conf = new Config();
        try {
            conf.setMultiOption(true);
            ini = new Wini();
            ini.setConfig(conf);
            ini.load(new File("apikeys.ini"));
        } catch (InvalidFileFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

我尝试写入和存储数据的文件:

if (KeyEndpoint.isValid(apikey)) {

                    Main.ini.put(apikey, Main.ini.get("Apikey"));

                    try {
                        Main.ini.store();
                    } catch (IOException e) {
                        channel.sendMessage("Invalid api key.").queue();
                    }

                } else {
                    channel.sendMessage("API Key is invalid.").queue();
                }

任何帮助表示赞赏,我至少想知道我做错了什么。

谢谢!

4

1 回答 1

0

它与相对路径有关。尝试在 Main 中更改绝对路径的文件名,例如“/tmp/apikeys.ini”,以检查您的代码是否正常工作。如果可行,那么您现在可以将其更改为“../../directory/filename”之类的内容,或者与您知道正在执行代码的位置相关的内容。熟悉您的 java 路径环境变量,例如 JAVA_HOME 和所有以使其更永久和可移植。

于 2020-10-26T18:16:45.193 回答