当前位置:首页  »  科技  »  科技百科  »  文章  »  fileinputstream中文乱码

fileinputstream中文乱码

来源:网络 转载:百问网 时间:2022-04-17 17:02
导读fileinputstream中文乱码,FileInputStream读中文乱码是因为一个中文对应两个字节存储(负数),解决方法是在输出时进行判断,遍历数组判断负数的个数,如果是奇数,说明读取到中文的一半字节,对数组进行扩容再输出;否则正常输出。

如何解决fileinputstream中文乱码问题?一起了解一下吧!

Java中使用 FileInputStream 读取txt等文档时,中文会产生乱码,这是因为一个中文对应两个字节存储(负数),也就是说,读取对应中文的字节数应该是偶数; 而英文对应一个字节存储。FileInputStream每次读取一个数组长度的字节时,读取的中文字节数可能是奇数,也就是只读到中文的一半字节,出现乱码。

解决方法是:

try {

            fis = new FileInputStream(file);

            InputStreamReader reader = new InputStreamReader(fis,"GBK"); //最后的"GBK"根据文件属性而定,如果不行,改成"UTF-8"试试 BufferedReader br = new BufferedReader(reader); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } }

关于解决fileinputstream中文乱码问题,我们就了解到这啦!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

标签:fileinputstream  中文乱码  方法  
  • 热门焦点
Top
加载中...