我有一个.ini文件,看起来像这样,并且正在使用ini4j来解析该文件:[Filepath]Inbound=C:\Users\Bilbo\Desktop\Testing我想返回该确切的字符串(C:\ Users \ Bilbo \ Desktop \ Testing),并且我有以下Java代码: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文件中的文件路径两边加上引号,以字符串形式读取它,但这没有用。我在.ini文件中使用了双斜杠(C:\\ Users \\ Bilbo \\ Desktop \\ Testing),该斜杠返回我正在寻找的内容(C:\ Users \ Bilbo \ Desktop \ Testing),但我希望能够只需复制并粘贴文件路径,而不必在.ini文件中手动加双斜杠。有没有一种方法可以使用ini4j从.ini文件中读取字符串,或者采用其他方法解决此问题?谢谢
2 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
最简单的方法是禁用转义。
import org.ini4j.Config;
...
Config.getGlobal().setEscape(false);
其他替代方法是改为使用Wini类
import org.ini4j.Wini;
...
Wini ini = new Wini(new File(iniFileName));
莫回无
TA贡献1865条经验 获得超7个赞
读取文件路径后,只需将斜杠更改为双斜杠即可:
public static String ParseIniInbound (File iniFile) throws
InvalidFileFormatException, IOException {
String iniFileName = iniFile.toString().replaceAll("\\", "\\\\");
Ini ini = new Ini(new File(iniFileName));
String InboundPath= ini.get("Filepath", "Inbound");
return InboundPath;
}
添加回答
举报
0/150
提交
取消