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