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

Java – 无法正确读取以前创建的编码文件

发布时间:2020-12-15 02:16:01 所属栏目:Java 来源:网络整理
导读:我在读取编码文件时遇到问题,以前写过我自己的代码. 正确显示原始字符串(包括重音符号) 我将String保存到编码文件的代码如下: OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(fileName),"ISO-8859-1");writer.write(text); 然后
我在读取编码文件时遇到问题,以前写过我自己的代码.

正确显示原始字符串(包括重音符号)

我将String保存到编码文件的代码如下:

OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(fileName),"ISO-8859-1");
writer.write(text);

然后,我读取这样的文件:

InputStream is = getClass.getResourceAsStream(fileName);

try {           
    BufferedReader br = new BufferedReader(new InputStreamReader(is,"ISO-8859-1"));
    String line;
    StringBuilder sb = new StringBuilder();

    while( (line = br.readLine()) != null ) {
        sb.append(line);
    }

    String result = sb.toString();
} catch (UnsupportedEncodingException e3) {
} catch (IOException e) { }

字符串结果未正确显示.例如,缺少重音符号.

我还尝试了其他方法,比如将String编码为字节,然后将这些字节写入文件.我总是得到相同的结果,也与其他ISO编码一样.任何的想法?

解决方法

问题是你的String有不同的字符集,可能是UTF-16.将文本输出为所需的字符集

这个答案证明了syntax

(编辑:李大同)

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

    推荐文章
      热点阅读