如果使用JFileChooser对话框
选择了相同的文件,它可以正常工作路径是这样的 C:\テスト\ sample.txt的
以下代码不起作用
String teststring = "C:\\テスト\\sample.txt";
File file = new File(teststring);
BufferedReader reader = new BufferedReader(new FileReader(file));
System.out.println(reader.readLine());
...
FileNotFoundException失败
答案 0 :(得分:8)
问题很可能是在Java编译时,它编译的编码与テスト字符的文件编码不匹配。您可以通过插入
来检查 System.out.println(teststring);
可能不会打印テスト
默认情况下,编码是平台编码。如果您的文件保存为UTF-8,则可以使用
进行编译javac -encoding UTF-8 YourClass.java
(或使用Ant
中encoding="UTF-8"
任务的<javac>
属性
编辑:
正如@assylias指出的那样,反斜杠需要转义!
答案 1 :(得分:1)
非常感谢你的帮助。除了您的解决方案之外,以下更改已解决了该问题
...
File file = new File(new String(teststring.getBytes(),"utf8");
...