[英]How to replace backslash followed by 't' or any other alphabet or character in escape chacter in file path to forward slash in java?
[英]Reading path from ini file, backslash escape character disappearing?
我正在讀取ini文件中的絕對路徑名,並將路徑名作為String值存儲在我的程序中。 然而,當我這樣做時,以某種方式存儲的值似乎正在失去反斜杠,所以路徑只是出現了一個大混亂? 例如,ini文件的鍵值為:
key=C:\folder\folder2\filename.extension
並且存儲的值以C:folderfolder2filename.extension
。
有人知道如何在讀入之前逃脫密鑰嗎?
我們還假設更改ini文件的值不是另一種選擇,因為它不是我創建的文件。
嘗試在Ini4j中將escape屬性設置為false。
你可以試試:
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("\\\\", "\\\\\\\\");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.