Java IO里流的概念和转换流
来源:互联网 发布:动态数组clear函数 编辑:程序博客网 时间:2024/05/18 02:51
很多编程语言里关于io这块的时候,会使用流这个抽象概念,而不是用输入设备和接收设备这些名词,那么流代表什么呢?《Thinking in Java》里解释地非常好:所谓流,代表任何有能力产出数据的数据源对象(对应输入流)或者是有能力接收数据的接收端对象(输出流)。我们可以按照下图理解流,把程序抽象成一块内存,输入设备和接收设备分别是输入流和输出流,输入和输出、读入和写出都是相对于程序内存而言的。输入流有InputStream和Reader,输出流有OutputStream和Writer。
众所周知,Java里有两个常用的转换流:InputStreamReader和OutputStreamWriter,这两个类属于适配器类。有一个很容易让人疑惑的地方是OutputStreamWriter的构造器明明传入的是一个OutputStream对象,生成的是一个Writer对象,但是我们却说这个转换流是将字符流转换成字节流的桥梁;而理解InputStreamReader是字节流到字符流的桥梁却没有什么问题。
关于OutputStreamWriter是字符流转换成字节流的桥梁这一说法并没有错,我们只需要搞清楚数据在图1中经过流的顺序就容易理解了。关于OutputStreamWriter的用法如下:
OutputStream out = System.out;OutputStreamWriter osw = new OutputStreamWriter(out);BufferedWriter bufw = new BufferedWriter(osw);
- 数据从内存输出到接收设备的顺序为:缓冲流->转换流->字节输出流,上面代码段里bufw是字符流,经过转换流变成字节流out后,由out输出到接收设备。
- 数据从发送设备输入到内存的顺序为:字节输入流->转换流->字符流。
这样的话,是不是理解了其中的区别了呢?因此,OutputStreamWriter是字符流转换成字节流的桥梁这一说法并没有错。
阅读全文
1 0
- Java IO里流的概念和转换流
- java IO流的概念与分类
- java IO流的概念与分类
- IO概述 流的概念和分类
- java里IO流的逻辑关系
- IO流的概念
- java io流 图片和字符串之间的转换
- Java IO 转换流的读入和写出
- 【Java学习】Java IO-流概念理解和知识点总结
- java IO的概念和分类
- Java IO 转换流
- Java IO 转换流
- JAVA中IO技术的转换流
- java的IO之转换流
- Java IO 转换流的编码解码
- io流的各种概念
- java 之 IO 转换流
- JAVA【IO五】转换流
- 页面js中文乱码怎么解决?
- [leetcode]282. Expression Add Operators
- C++进程注入
- 关于微信、QQ语音消息,语音电话的时候控制应用音频播放以及暂停
- Chromium 控件 DotNetBrowser V1.11发布 | 附下载
- Java IO里流的概念和转换流
- linux 常用工具
- Python命令行参数解析:getopt和argparse
- MVC @page 命令
- spark RDD分区2GB限制(Size exceeds Integer.MAX_VALUE)
- html5 multiple多文件异步上传 服务器接收文件重复
- 对input输入框内容判断非空 和 去空格
- 程序员最核心的竞争力是什么?
- 数据结构与算法之二分查找