用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
最新文章
- 十二天 mysql操作
- 极光推送NotificationServiceTest.appex文件变红不存在丢失解决办法
- oracle 查询周的第一天日期
- W3C对DOM2.0定义的标准事件
- Web.Config如何输入特殊字符
- 从SVN导出指定版本号之间修改的文件(转)
- C++指针例
- Django中的ORM进阶操作
- JavaScript-学习一_var
- android application 的使用
- 一张图比較 Docker 和 Git:镜像管理设计理念
- java利用poi导出数据到excel
- synchronized和Lock复习
- Windows server 2012 install .net core sdk 2.2.103
- 移动端的dl
- node有哪些坑?
- DP-hdu1176
- [BZOJ5427]最长上升子序列/[BZOJ4282]慎二的随机数列
- linux cfs调度器_模型实现
- nginx的Mainline version、Stable version、Legacy version的版本区别