yesshi06 2012-09-06 11:35
浏览 1111
已采纳

为什么以UTF8格式读取UTF8格式文件,写入输出流后还是乱码

用UTF8编码读入一个utf8的文件,结果写入输出流的时候还是乱码?这是怎么回事?
InputStream ist = LaucherTest.class.getResourceAsStream("/Book1.csv");

InputStreamReader reader = new InputStreamReader(ist,"UTF-8");
ByteArrayOutputStream str= new ByteArrayOutputStream();
int ch;
while((ch=reader.read())!=-1){
str.write(ch);
}
查看str内容,结果还是乱码 :!:

  • 写回答

4条回答

  • jinnianshilongnian 2012-09-06 12:20
    关注

    nputStreamReader reader = new InputStreamReader(ist,"UTF-8");
    ByteArrayOutputStream str= new ByteArrayOutputStream();
    int ch;
    while((ch=reader.read())!=-1){
    str.write(ch);
    }

    Reader读/Writer写 字符
    InputStream读/OutputStream写 字节
    它们要配套使用

    现在你混用了。把ByteArrayOutputStream改成OutputStreamWriter

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)