字节流转化为字符流输出
2016-09-20 19:32
211 查看
字节流和字符流的区别
字符流在进行输出的时候会使用缓冲区,而字节流不使用缓冲区。在关闭字符流的时候会强制的将缓冲区的内容进行输出,但如果不关闭流缓冲区的内容是无法输出的。那么什么是缓冲区那?
如果一个程序频繁地操作一个资源(如文件或数据库),则性能会很低,此时为了提升性能,就可以将一部分数据暂时读入到内存的一块区域之中,以后直接从此区域中读取数据即可,因为读取内存速度会比较快,这样可以提升程序的性能。简单的理解就是缓冲区是一段特殊的内存。
在字符流的操作中,所有的字符都是在内存中形成的,在输出前会将所有的内容暂时保存在内存之中,所以使用了缓冲区暂存数据。
下面是将字节流转化为字符流输出的一段代码
import java.io.ByteArrayOutputStream; import java.io.InputStream; public class StreamUtils { public static String streamToString(InputStream in){ String result =""; try{ //new 一个字节输出流的数组 ByteArrayOutputStream out = new ByteArrayOutputStream(); //[1]new 一个字节数组 byte[] buffer = new byte[1024]; int length = 0; while ( (length = in.read(buffer)) !=-1) { out.write(buffer, 0, length); //[2]强制关闭缓冲区 out.flush(); } result = out.toString();//[3]输出字符串 out.close(); }catch (Exception e) { e.printStackTrace(); } return result; } }
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- IE7降低内存和降低CPU的几个技巧
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询