我的问题是我无法在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");
那么,让大家知道如何解决这个问题吗?
答案 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