用ByteArrayOutputStream解决IO流乱码问题

Posted 你的吕爸爸是网红

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ByteArrayOutputStream解决IO流乱码问题相关的知识,希望对你有一定的参考价值。

IO中用ByteArrayOutputStream解决乱码问题 --另一种解决乱码的方法

IO中另外一种防止乱码的方法:使用ByteArrayOutputStream
在创建ByteArrayOutputStream时,会自动创建一个以自动增长的缓存区,当数据读取完后再一起统一写出来,就不会有乱码的问题了
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;

public class ByteArrayInputStreamTest {
public static void main(String[] args) throws Exception {
ByteArrayOutputStream out = null;
InputStream ins = new FileInputStream("test.txt");
int len = -1;
out = new ByteArrayOutputStream();
// 下面的read方法每次读取一个字节,并返回这个字节的int类型
while ((len = ins.read()) != -1) {
// 每次写入一个字节,out对象会自动创建一个反冲区,并自动增加大小
out.write(len);
System.out.println(out.size());
}
out.close();
ins.close();
System.out.println(out.toString());
}
}
每次写入时打印out对象的长度,可以看到out对象的长度每次增加1,因为每次读取一个字节,这样把所有的数据读取完后再调用toString方法转换成字符就不会出现乱码的问题了

 

转自:http://blog.csdn.net/xcw931924821/article/details/7224702

以上是关于用ByteArrayOutputStream解决IO流乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

ByteArrayInputStream&ByteArrayOutputStream

java:内存处理ByteArrayOutputStream,ByteArrayInputStream

2019-11-26记录

在写入时从 ByteArrayOutputStream 读取

从 ByteArrayOutputStream 创建文件

来自 OutputStream 的 ByteArrayOutputStream