由于Java中的特殊字符,无法打开File

时间:2016-02-04 07:30:45

标签: java

我的问题是我无法在Java中打开带有特殊字符的文件。

例如,

我有一个像solution/Testàtest.pdf这样的文件,如果我在Linux中使用java -jar program.jar运行我的java程序

我收到了错误消息:

  

java.io.FileNotFoundException

因为他将路径视为solution/Testtest.pdf而不是假定为solution/Testàtest.pdf

我打开文件的代码是:

File d1 = new File("solution/Testàtest.pdf");

那么,让大家知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可能在Java或OS上的文件名中输入了拼写错误(如评论中指出的@Berger),或者您有字符串编码问题。

我运行linux并在UTF-8上使用我的Java源文件编码。

我有一个文件:/home/raudenaerde/ħ.txt< - 请注意好人物:)

public static void main(String[] args) {
    File f = new File("/home/raudenaerde/ħ.txt");

    System.out.println(f.exists());
}

当我运行时:

如果您不确定java源文件编码,可以始终使用unicode-escape(在这种情况下:\u0127

要在linux上打印您的语言环境,请运行命令:

locale