我从ini文件中读取绝对path名,并将path名作为String值存储在我的程序中。 但是,当我这样做的时候,存储的价值似乎正在丢失反斜杠,这样path就会出现一个大混乱? 例如,ini文件将具有以下键值:
key=C:folderfolder2filename.extension
并存储的值是作为C:folderfolder2filename.extension 。
有谁知道如何逃脱钥匙之前,它被读入?
我们还假设更改ini文件的值不是一种替代方法,因为它不是我创build的文件。
如何更改在Visual Studio 2015中打开C ++代码的默认新项目?
这个typedef是什么意思涉及LPWSTR?
正确使用巧克力(包更新/版本pipe理)
C ++ – 运行可执行文件
在C ++的windows应用程序中构build一个类似于数据网格的excel
标题在枢轴/全景Wp8
检测Windows 10系统电源状态
关于开发反应本机的热重新加载问题在Windows Envioment
C:打开太多文件
使用maven部署github网站时出错
尝试在Ini4j中将escape属性设置为false。
http://ini4j.sourceforge.net/apidocs/org/ini4j/Config.html#setEscape%28boolean%29
你可以试试:
Config.getGlobal().setEscape(false);
如果你读过这个文件,然后把转换成/处理之前,那就行了。 所以你使用的库有一个Ini#load(InputStream) ,它接受INI文件的内容,像这样调用它:
byte[] data = Files.readAllBytes(Paths.get("directory","file.ini"); String contents = new String(data).replaceAll("\\","/"); InputStream stream = new ByteArrayInputStream(contents.getBytes()); ini.load(stream);
处理器必须对反斜杠进行解释,所以这会给它带正斜杠的数据。 或者,您可以在处理之前逃避反斜杠,如下所示:
String contents = new String(data).replaceAll("\\","\\\\");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。