微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从ini文件读取path,反斜杠转义字符消失?

我从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] 举报,一经查实,本站将立刻删除。

相关推荐