Java:InputStream读取文本文件内容出现乱码问题的解决方法
来源:互联网 发布:linux date命令 编辑:程序博客网 时间:2024/06/06 03:49
今天,使用字节输入流InputStream来读取一个文本文件的内容,然后复制到另一个文件里,实现文件复制这样的一个需求。但是,在实际操作的时候,发现复制后的文件的内容部分乱码
我的代码:
然而实际效果却让我不明所以。
这是呵呵.txt的内容
复制后的茶道.txt的内容却是
分析一下,中文能出来,说明不是字符集问题,但是就是某些汉字会乱码。询问老师后,老师告诉我,这是因为一个汉字是2-4字节,而空格之类的是半个字节,缓冲区是12字节,有可能是读到了半个汉字,就会出现这种结果。
好吧,知道了问题出在哪后,就来解决吧
方法一:
使用转换流
转换流:将字节输入输出流转换成字符输入输出流
有两个,分别是InputStreamReader(InputStream in)【字节输入转换流】
OutputStreamWriter(OutputStream out)【字节数出转换流】
作用:解决文件读取时出现的中文乱码问题
就像这样
需要注意的是,它把字节输入流转换成字符输入流,所以缓冲区也就相应变成字符数组
效果如下
方法二:
扩大缓冲区容量,一次性存储完整个内容
这里我把缓冲区容量扩大到512,能够装下整个文件内容,结果就好了
好了,问题应该能够解决。如果不可以,可以查看是不是文件的字符集出问题了,右键文件的Properties里面的Text File enconding是不是有问题。
2017/8/2 19:23
Lucifer
阅读全文
8 0
- Java:InputStream读取文本文件内容出现乱码问题的解决方法
- java:InputStream读取文件时出现中文乱码问题
- java 读取文本文件的乱码问题???
- 关于java读取文本文件乱码的问题
- Java中从txt文件中读取和存储内容出现乱码的解决方法
- Java读取文本文件中文乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件中乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件中文乱码问题
- Java读取文本文件内容
- java读取文本文件内容
- 文本文件中读取中文乱码的问题
- c#读取文本文件出现乱码
- 用java读取文本文件里面的内容
- 最小费用流
- Vert.x学习笔记(二) Vert.x Web Client
- reverse integer
- opennebula : what's new in 5.4 中文版
- 机器学习之特征编码总结
- Java:InputStream读取文本文件内容出现乱码问题的解决方法
- Lucene学习总结
- spring-boot idea demo
- CodeForces 832 B. Petya and Exam
- 隐马尔可夫模型总结
- 关于软件开发中遇到的问题解决思路
- struts2发送json数组,js使用ajax接收。
- ThreadLocal小案例
- pat乙级1025