加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java的字符集/字符编码

发布时间:2020-12-15 04:59:17 所属栏目:Java 来源:网络整理
导读:我有一个西班牙文件,所以它充满了以下字符: á é í ó ú ? ? á é í ó ú 我必须阅读该文件,所以我这样做: fr = new FileReader(ficheroEntrada);BufferedReader rEntrada = new BufferedReader(fr);String linea = rEntrada.readLine();if (linea =
我有一个西班牙文件,所以它充满了以下字符:

á é í ó ú ? ? á é í ó ú

我必须阅读该文件,所以我这样做:

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;

当我读取令牌列表时,所有特殊字符都消失了,并被这种字符替换:

ó = ?“
? = ?‘

等等…

发生了什么?我从未遇到过charsets的问题(我假设是charset问题).是因为这台电脑吗?我能做什么?

任何额外的建议将不胜感激,我正在学习!谢谢!

解决方法

您需要指定相关的字符编码.

BufferedReader rEntrada  = new BufferedReader(
    new InputStreamReader(new FileInputStream(fr),"UTF-8"));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读