Ini4j не читает пути к файлам

У меня есть файл.ini, который выглядит так:

[Filepath]
Inbound=C:\Users\Bilbo\Desktop\Testing

Я хочу вернуть эту точную строку (C:\Users\Bilbo\Desktop\Testing), и у меня есть следующий код:

public static String ParseIniInbound (File iniFile) throws 
InvalidFileFormatException, IOException {
    String iniFileName = iniFile.toString();
    Ini ini = new Ini(new File(iniFileName));
    String InboundPath= ini.get("Filepath", "Inbound");
    return InboundPath;
}

Однако возвращается C:UsersBilboDesktopTesting.

Я попытался поместить кавычки вокруг пути к файлу в файле.ini, чтобы прочитать его как строку, но это не сработало. Я использовал двойную косую черту (C:\\Users\\Bilbo\\Desktop\\Testing), которая возвращает (C:\Users\Bilbo\Desktop\Testing), но я хочу иметь возможность просто скопировать и вставить путь к файлу и не иметь вручную поставить двойную косую черту. Есть ли способ прочитать строку из INI-файла с помощью ini4j или другим способом? Спасибо

2 ответа

Да. Решение (только в Windows) — указать путь двойной косой чертой. Как в java.util.Properties. Когда вы загружаете свойства из файла, например:

      Properties p = new Properties();
p.load(new FileInputStream(new File("C:\\path\\to\\file.txt")));

Если p.txt содержит путь Windows, он должен иметь двойную косую черту.

Ну, я не мог ничего найти по этому поводу, кроме вашего поста, так что вот мое решение, но если это намеченный способ, то он действительно тупой.

ini.put("Default_Values", "dWorkflowStart", "C:\\" + "\\User\\" + "\\kh\\" + "\\Desktop\\" 
            + "\\workstuff\\" + "\\samples\\" + "\\test_in");

Это тушит [Default_Values] dWorkflowStart = C:\\Users\\kh\\Desktop\\workstuff\\samples\\test_in

Другие вопросы по тегам