解决方案 »
- 如何把多条sql语句查询的结果放入同一个JTable中
- 求一段JAVA代码,关于读取文本文件分析字符串的,非常感谢。
- 关于cmd窗口下编译的问题
- 如何获取局域网的所有计算机名和ip地址的代码怎么写?
- 那个CSDN象棋比赛取消了,现在还想玩象棋的过来留个联系方式,交流一下吧.
- applet运行问题
- 请问,java中这怎样输出:7/12=0.583333332,怎样使得 7/12=0.5833,怎么砌断它。
- 请问国外知名的javabean组件的网站有哪些?
- 如何把图片从服务器端读出后,存在byte[]中
- The import java.util.Arrays cannot be resolved
- 请教链表删除类!
- jdbc连接sql server2005 express问题
BufferedWriter 是字符流在编程的时候建议使用字符流但愿我没说错 阿弥陀佛说个题外的
new BufferedWriter(outputStreamWriter); 这种嵌套模式是装饰模式
Java的字符流和字节流 比较
这样包装有两个目的:
1、为了使用更好的接口,FileOutputStream 类可能有些方法在该需求中并不好用,改BufferedWriter 可能更符合需求
2、为了加快程序的读写速度、使用缓冲进行包装,这有好几种包装法,你可以测试一下每种性能差异其它的什么作用我暂时还没想到:)
OutputStreamWrite是字符流,它一个字符一个字符的向外边送数据
它们有什么区别么?
因为计算机是洋鬼子发明的,它们的英文字符占一个字节,而我们的中文是一个字符,占俩字节。
如果用stream,你读出来的英语再倒也罢了,读出来的中文可就是乱码或者一个个“????”。
如果你用WRITER,就不会有乱码了,明白?BufferedWriter Buffer是一个缓冲区,为什么要用BUFFER呢?
如果你直接用stream或者writer,你的硬盘可能就是一个字符或者一个字节 读写硬盘一次,
可是你用了Buffer,你的硬盘就是读了一堆数据之后,读写一下硬盘。这样对你硬盘有好处。打个比方说:你要喝水,你是一滴一滴的喝呢,还是一杯一杯的喝呢?stream,wirter就相当一滴,buffer就相当一个杯子。
不是所有的文件都是用来记录字符的。
如果你将一个Object保存到硬盘上,那么这个文件只能是一个字节文件。而不是字符文件。
所以Stream的目的并不是你想到的那样。FileReader这个才是专门用来读字符文件的。
之所以有时候不用FileReader而用FileInputStream和InputStreamReader来代替,是因为需要做编码转换。
InputStreamReader有一个很重要的指定转换编码的功能。
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
// 将原来的流变的带缓冲了
BufferedWriter 是字符流
想下哪个效率更高?
Buffered 是缓冲流。
最优的办法就是三个合起来用。