我使用Java将文件中的内容读入String。但是String不能显示某些字符,比如ćş。
这是我的代码:
FileInputStream in = new FileInputStream(f);
BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
PrintStream out = new PrintStream(System.out, false, "UTF-8");
while(true) {
String line = br.readLine();
if(line == null)
break;
out.println(line);
}
我该如何解决这个问题?
答案 0 :(得分:-1)
据推测,此失败表明该文件不是UTF8编码。当你告诉java它是,它相信你,并且因为这是错误的,事情不起作用。
检测任意文件的编码没有实用的通用方法,所以你可以选择使用一些外部工具转换它,或者找出它实际上是什么编码并告诉Java(通过参数到BufferedStreamReader构造函数)。