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 に答える