JavaIO流详解

JavaIO流详解

ID:37919647

大小:143.00 KB

页数:11页

时间:2019-06-02

JavaIO流详解_第1页
JavaIO流详解_第2页
JavaIO流详解_第3页
JavaIO流详解_第4页
JavaIO流详解_第5页
资源描述:

《JavaIO流详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaIO流详解参考网址:http://www.cnblogs.com/kevinyangxu/archive/2010/11/28/1890248.htmlhttp://www.cnblogs.com/qamefay/archive/2011/09/01/2161495.htmlJavaIO流一流的概念    流(Stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程的通信,或读写外围设备、外部文件等。    一个流,必有源端和目的端,它们可以是计算机内存的某些

2、区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。    流的方向是重要的,根据流的方向,流可以分为2类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,但不能读它。       实际上,流的源端和目的端可简单的看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读取数据,而对输出流,也可不知道它的目的端,只是简单的往流中写数据。二流的三种分类方式       1.按流的方向分为:输入流和输出流   2.按流的数据单位不同分为:字节流和字符流 

3、  3.按流的功能不同分为:节点流和处理流三流的层次结构             四缓冲流:        缓冲流要套接在相应的节点流觞,提高了读写的效率。        此处理流的构造方法都得传相对应的基类类型        BufferedReader:提供了readLine方法,用于高效读取一行字符串        BufferedWriter:提供了newLine用于写入一个行分隔符也就是换行 五转换流:主要作用将字节流转换成字符流。    InputStreamReader需要和InputStream套接    Ou

4、tputStreamWriter需要和OutputStream套接    eg: InputStremReaderinput=newInputStreamReader(newFileInputStream(...));六流的结构:    根接口:InputStream/OutputStream    充当数据源的IO类有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等。    充当装饰功能的IO类BufferedInputS

5、tream/BufferedOutputStream,DataInputStream/DataOutputStream等。    它们都是继承装饰接口FilterInputStream/FilterOutputStream.     使用IO时,首先创建一个数据源IO,然后根据需要的功能创建装饰类IO,其构造函数的参数为以创建的数据源IO     eg:     我们以创建一个具有缓冲的文件输入流为例,假定需要从磁盘读取文件“C:log.txt”:     //创建一个FileInputStream:     FileInp

6、utStreamfileInput=newFileInputStream(”C:\log.txt”);     //创建一个BufferedInputStream:     BufferedInputStreambufferedInput=newBufferedInputStream(fileInput);     //现在得到的bufferedInput即是具有缓冲的文件输入流  或者进一步简写如下:    InputStreaminput=newBufferedInputStream(newFileInputStream

7、(”C:\log.txt”));     //现在得到的input即是具有缓冲的文件输入流     java.io.Reader和java.io.InputStream区别  java.io.Reader和java.io.InputStream组成了Java输入类。Reader用于读入16位字符,也就是Unicode编码的字符;而InputStream用于读入ASCII字符和二进制数据。在Java中,有不同类型的Reader输入流对应于不同的数据源:   FileReader用于从文件输入;   CharArrayReade

8、r用于从程序中的字符数组输入;   StringReader用于从程序中的字符串输入;   PipedReader用于读取从另一个线程中的PipedWriter写入管道的数据。相应的也有不同类型的InputStream输入流对应于不同的数据源:   FileInputStre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。