java中的流
来源:互联网 发布:除湿袋原理 知乎 编辑:程序博客网 时间:2024/05/15 01:06
参考:http://www.cnblogs.com/pepcod/archive/2013/01/20/2913435.html
1、流的概念
流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。
一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。
流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。
实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是简单地往流中写数据。
2、流的分类
(1)结点流和过滤器
结点流:直接从指定位置(如磁盘文件或内存区域)读或写
过滤器:输入流的源一般是以其他输入流,经过过滤或处理后再以新的输入流的形式提供给用户;输出流的目的端一般也是其他的输出流
(2)字节流和字符流
字节流:处理的单位是字节,InputStream是左右字节输入流的祖先,outputstream是所有字节输出流的祖先
字符流:处理的单位是字符(两个字节)Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先。
除了字符流和字节流之外,还存在一组字节流-字符流的转换类。
OutputStreamWriter:是Writer的子类,将字节输入流转化为字符输入流
InputStreamReader:是Reader的子类,将字节输出流转化为字符输出流
3、JAVA字节流
(1)FileInputStream和FileOutputStream
这两个类属于结点流,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流。如:
FileInputStream infile = new FileInputStream(“myfile.dat”);
FileOutputStream outfile = new FileOutputStream(“results.dat”);
要注意的是,构造FileInputStream, 对应的文件必须存在并且是可读的,而构造FileOutputStream时,如输出文件已存在,则必须是可覆盖的。
(2)BufferInputStream和BufferOutputStream
它们是过滤器流,其作用是提高输入输出的效率。
(3)DataInputStream和DataOutputStream
4、JAVA字符流
字符流主要是用来处理字符的。Java采用16位的Unicode来表示字符串和字符,对应的字符流按输入和输出分别称为readers和writers。
(1)InputStreamReader和OutputStreamWriter
在构造这两个类对应的流时,它们会自动进行转换,将平台缺省的编码集编码的字节转换为Unicode字符。对英语环境,其缺省的编码集一般为ISO8859-1。
(2)BufferedReader和BufferedWriter
这两个类对应的流使用了缓冲,能大大提高输入输出的效率。这两个也是过滤器流,常用来对InputStreamReader和OutputStreamWriter进行处理。
- 【Java】Java中的IO流
- JAVA中的输入输出流
- JAVA 中的IO流
- Java中的流操作
- Java中的管道流
- Java中的管道流
- JAVA 中的IO流
- Java中的IO流
- JAVA 中的IO流
- JAVA 中的IO流
- Java中的流
- Java中的输入输出流
- java 中的流
- JAVA 中的IO流
- java中的输入输出流
- JAVA 中的IO流
- java中的字符流
- java中的io流
- ubuntu下安装配置部署zabbix——基于docker
- Javascript中call和apply的区别与详解
- abap函数杂记
- Tricky Sum
- window启动activemq失败
- java中的流
- [Cloud Computing]Mechanisms: Secure Token Service
- HDU - 1269 迷宫城堡
- 产品经理的自我修养
- 小谈20160722:MVC、MVP 和MVVM区别
- poj 2481 Cows(树状数组)
- CocoaPods安装和使用
- BZOJ 1143 祭祀river 最长反链
- solrj定时增量更新索引