我有字符串在java中是包含元音變元的文件名。文件正確存儲在Win 7 Pro磁盤上(在資源管理器文件列表中,umlauts等顯示正確)。我也嘗試將文件名保存到文本文件,然後使用變音符號正確輸出文件名。但是當我使用File存在的方法()時,它說文件不存在。如果我嘗試使用方法createNewFile(),它會創建文件,如Ã..txt(最初爲ä.txt)。我的設置中有什麼可能是錯誤的?我使用Tomcat 6和Eclipse來運行我的Web應用程序。在Java中的編碼問題文件
2
A
回答
2
如果文件名將作爲靜態常量包含在您的源代碼中,那麼您的代碼在執行時不會有什麼區別,但是當您從遠程地址讀取文件名時,它會產生顯着差異。
默認情況下,每個Java實例作爲Windows上的默認字符集,通常爲「Cp1252」,其他系統通常爲「UTF-8」。因此,只要不使用明確指定字符集的方法版本,每個從網絡或文件系統讀取或寫入字符串的方法都會使用默認字符集。
因此,將文件名寫入文件並不能說明所有內容,因爲如果顯示正確,則取決於您使用的文本編輯器而不是寫入它的Java程序。
結論:仔細檢查您的代碼並確保您明確設置了字符集。這與String的方法getBytes()
以及每個連接到InputStream/OutpuStream的Reader/Writer實例的方法都是特別相關的。
相關問題
- 1. Java中的編碼問題
- 2. 在java中編寫文件問題
- 3. Vim。編碼保存在窗口中的文件編碼問題
- 4. aspx/html文件中的編碼問題
- 5. C# - 文件編碼問題
- 6. 文件名編碼問題
- 7. Java的JSON文本編碼問題
- 8. 編寫文件時的java編碼問題
- 9. 我無法在我的java文件中編寫一些字符(編碼問題)
- 10. Java編譯器平臺文件編碼問題
- 11. Java郵件API - 編碼問題
- 12. Java和Solr中的Url編碼問題
- 13. 使用Java中的System.out編碼問題
- 14. 在PHP中上傳的文本文件的編碼問題
- 15. 用Java編碼問題
- 16. PHP和Java編碼問題
- 17. base64編碼問題,java
- 18. Java UTF-8編碼問題
- 19. Java編碼 - 繼承問題
- 20. 文本文件編碼問題
- 21. 瑞典CSV文件的編碼問題
- 22. 發佈base64編碼文件的問題
- 23. 文件編碼的Mac問題
- 24. Android讀取文件的編碼問題
- 25. AndroidManifest.xml文件的編碼問題
- 26. Python的編碼問題讀取文件
- 27. 獲取文件的編碼在Java中
- 28. Android項目文件夾中的文件名編碼問題
- 29. 在iOS中生成文件的MacOS X上的編碼問題
- 30. 在java中讀取文件的問題
什麼是Eclipse項目屬性中的編碼設置? –
文件名是在您的代碼中硬編碼還是從某處讀取? – Robert
@Robert它是從http請求中讀取的,但是如果我將該字符串寫入文本文件,那麼它將被正確打印,所以它不能與此相關。 – newbie