2

我在 unix 中编写了以下 java 代码来访问文件名中包含瑞典字符的文件。

System.out.println(System.getProperty("file.encoding"));
System.out.println(System.getProperty("sun.jnu.encoding"));

String filePath = "/tmp/newöäåå.txt";
System.out.println("File Path" + filePath);

File file = new File(filePath);
try {
    if(file.exists())
        System.out.println("length: " + file.length());
    else{
        System.out.println("file not found");
    }
} catch (Exception e) {
    System.out.println("inside exception");
}

输出 :

UTF-8
UTF-8
File Path /tmp/newöäåå.txt
file not found

我只通过 unix 创建了文件。你能帮我理解一定出了什么问题吗?

操作系统是 Open SU​​SE

4

2 回答 2

0

如果您将 java 文件保存为 UTF-8 - 它会起作用。

于 2013-04-13T16:09:31.493 回答
0

我认为问题可能出在代码本身。.java 文件不以 UTF-8 编码保存。也许尝试从 UTF-8 的外部文件中读取文件名,或者以其他方式表示文件名,或者只是确保 .java 文件以 UTF-8 编码保存。

于 2013-04-13T15:59:03.090 回答