1
讀取特殊字符我有這樣Linux安裝NAS包括具有斯堪的納維亞的字符如A,O,A文件名的情況。當我用ls列出文件時,我將所有這些字符看作問號(?)。如果我運行ls -b,我會看到文件名的編碼版本。這樣的字符:\ 303 \ 205無法從文件名
我需要從我的Java代碼讀取那些文件及其文件名,但我無法。如果我使用File.listFiles列出文件,我得到的是問號而不是正確的字符。如果我將文件轉換爲路徑我得到異常: java.nio.file.InvalidPathException:格式錯誤的輸入或輸入包含無法映射的字符
我能擺脫例外,如果我設置Dsun.jnu.encoding = UTF-8運行時,但我再次得到問號而不是ä,ö或å。
我試圖裝載NAS不同的設置,如檢查=放鬆,但沒有運氣那裏。
所有幫助表示讚賞。
可以打印*數字*你得到一個文件名字符值,而無需使用Dsun.jnu.encoding = UTF例外-8並將其添加到您的問題,連同正確的文件名? – laune 2015-03-13 08:57:23
如果「ls」沒有正確顯示文件名,這已經是件壞事了。你是否將你的(系統默認)編碼設置爲UTF-8?如果沒有,Java不能幫助。 (我假設NAS使用UTF-8,否則會更復雜)。 – Bram 2015-03-13 09:08:39
如果我登錄到使用Mac Cyberduck的服務器和去安裝,我可以看到正確的字符... – tomtom 2015-03-13 09:17:51