前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字符流出现乱码问题

字符流出现乱码问题

作者头像
shimeath
发布2020-07-30 17:09:21
1.2K0
发布2020-07-30 17:09:21
举报

乱码问题

从文件中读取出现乱码主要有以下两个原因:

  1. 编码字符集不统一
  2. 截取长度不不够

解决方法

将文件以字节流读入,转换为字符流操作

字节流读入 --InputStreamReader–> 字符缓冲流读入 字节流写出 --OutputStreamReader–> 字符缓冲流写出

代码语言:javascript
复制
new InputStreamReader();
new OutputStreamWriter();

两个问题示例代码

代码语言:javascript
复制
 1 package cn.hxh.io.convert;
 2 
 3 import java.io.UnsupportedEncodingException;
 4 
 5 public class convertDemo01 {
 6 
 7     public static void main(String[] args) throws UnsupportedEncodingException {
 8         String str = "你好";
 9         byte[] data = str.getBytes("gbk");//指定编码
10         byte[] data1 = str.getBytes();
11         System.out.println(new String(data,"utf-8"));
12         System.out.println(new String(data1,1,3));//长度不够
13     }
14 
15 }

引入转换流

代码语言:javascript
复制
 1 package cn.hxh.io.convert;
 2 
 3 import java.io.*;
 4 
 5 public class convertDemo02 {
 6 
 7     public static void main(String[] args) throws IOException {
 8         BufferedReader rd = new BufferedReader(
 9                 new InputStreamReader(
10                         new FileInputStream(
11                                 new File("D:/aa/a.txt")), "utf-8"));
12         BufferedWriter wr = new BufferedWriter(
13                 new OutputStreamWriter(
14                         new FileOutputStream(
15                                 new File("D:/aa/b.txt"))));
16         String s = null;
17         while(null != (s = rd.readLine())) {
18             wr.write(s);
19             wr.newLine();
20             wr.flush();
21         }
22         wr.close();
23         rd.close();
24     }
25 
26 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 乱码问题
    • 从文件中读取出现乱码主要有以下两个原因:
      • 解决方法
        • 两个问题示例代码
          • 引入转换流
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档