【发布时间】:2012-11-09 20:40:20
【问题描述】:
我有一个西班牙文文件,里面充满了如下字符:
á é í ó ú ñ Ñ Á É Í Ó Ú
我必须阅读文件,所以我这样做:
fr = new FileReader(ficheroEntrada);
BufferedReader rEntrada = new BufferedReader(fr);
String linea = rEntrada.readLine();
if (linea == null) {
logger.error("ERROR: Empty file.");
return null;
}
String delimitador = "[;]";
String[] tokens = null;
List<String> token = new ArrayList<String>();
while ((linea = rEntrada.readLine()) != null) {
// Some parsing specific to my file.
tokens = linea.split(delimitador);
token.add(tokens[0]);
token.add(tokens[1]);
}
logger.info("List of tokens: " + token);
return token;
当我阅读标记列表时,所有特殊字符都消失了,并被这种字符取代:
Ó = Ó
Ñ = Ñ
等等……
发生了什么事?我从来没有遇到过字符集问题(我假设是字符集问题)。是因为这台电脑吗?我能做些什么?
任何额外的建议将不胜感激,我正在学习!谢谢!
【问题讨论】:
-
使用
InputStreamReader并指定适当的编码。FileReader将采用“默认”编码,因此无法正确解码字符。
标签: java character-encoding non-ascii-characters