黑马程序员——io(inputoutput)流总结(一)

黑马程序员——io(inputoutput)流总结(一)

ID:33746201

大小:57.10 KB

页数:3页

时间:2019-02-28

黑马程序员——io(inputoutput)流总结(一)_第1页
黑马程序员——io(inputoutput)流总结(一)_第2页
黑马程序员——io(inputoutput)流总结(一)_第3页
资源描述:

《黑马程序员——io(inputoutput)流总结(一)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、10(InputOutput)流总结(一)io流是处理数据之间数据传输的。Java对数据的操作是通过流的方式。Java中用于操作IO流的对彖都放在java.io包中。流的分类:按照操作数据分为:字符流和字节流。按照流向分为:输入流和输出流。输入流:字袴流:Reader

2、-BufferedReader

3、—inputStreamReader

4、-FileReaderWriter

5、-BufferedWriter

6、—OutputStreamWriter

7、-FileWriter字节流:InputStream

8、~FileInp

9、utStreamOutputStream

10、~FileOutputStreamInputStream

11、-FilterInputStream

12、—BufferedlnputStreamOutputStream

13、-FilterOutputStream

14、~BufferedOutputStream在计算机中存储的都是1和0的序列。也就是二进制的有序序列,不论是文本、咅乐或者是视频。那么为什么要在流中定义字节流和字符流呢?这个与我们的字符编码方式有关。我们都知道世界上有很多种的语言,比如:ASCILGB2312、GBK、UTF

15、-8和Unicode等。如果一个文本文件使用GB2312编码的方式存储的,如果我们用Unicode的编码方式来读取,那么就会出现乱码。所以字符流是一种特殊的流,在java中就定义了专门处理字符的流对象。当我们拿到一个API文档我们应该如何使用呢?1,确定要使用的功能。2,查阅API看有没有相关的功能类。3,如果没有,就分析需要如何自定义一个出来,并且要使用到那些相关功能的类,这些类在API屮有没有定义。4,不论有或者没有需要自定义一个,我们都要先查阅相关功能类的根类,那么查阅一个API的吋候我们要注意一些什么呢?

16、5,找到相关功能根类,先看一下它是一个类,还是接口,还是抽象类,如果是接口或者是抽象类我们就不能直接使用这个类,而要使用这个类的子类。1,但是,我们不用急于先看它有哪些子类,我们先看一下它到底暴露了什么字段、构造函数和方法。2,在查看暴露的信息时,我们要注意几点:a.如果是static修饰的,说明是静态的,我们不用new对象也可以直接使用。b.我们要确定白己要使用的方法将会返冋的数据的类型,是void呢、String呢、int呢、还是其他的。查找的吋候就重点找返回这些类型的方法。(注意:如果我们使用的类是一个使用

17、单例设计模式设计的,那么他就没有构造函数,我们就一般可以通过静态的getlstanceO方法获取相应的对象,这时我们就要找返回值是对象类型的方法。)3,如果在根类屮找到了需要的方法,但是根类又不能创建对象,那么我们就看看,继承这个根类的子类有哪些,一般子类都继承了父类的方法,所以子类可以直接调用父类的方法,并且子类又定义了一些自身特别的方法。4,找到需要的类创建対象,或者找到相关功能的对象自定义一个需要的类。下而我们按照以上的方法来阐述IO流的学习:字节流:字节流的根类有:读取流(Reader)、写入流(Writ

18、ei)根类都是abstract(抽象)的,我们不能直接创建対象,但是我们可以看一看父类都定义了什么方法。Reader:intread()读取单个字符。intread(char[]ebuf)将字符读入数组。abstractintread(char[]ebuf,intoff,intlen)将字符读入数组的某一部分。intread(CharBuffertarget)试图将字符读入指定的字符缓冲区。abstractvoidclose()关闭该流并释放与之关联的所有资源。FileReader:Reader的子类,可以创建对

19、彖,专门用来操作字符数据流的。Writer:voidwrite(char[]ebuf)写入字符数组。abstractvoidwrite(char[]ebuf,intoff,intlen)写入字符数组的某一部分。voidwrite(intc)写入单个字符。voidwrite(Stringstr)写入字符串。voidwrite(Stringstr,intoff,intlen)写入字符串的某一部分。abstractvoidclose()关闭此流,但要先刷新它。abstractvoidflush()刷新该流的缓冲。写入流

20、(Writer)在每次调用write。方法的时候都要flush()(刷新)一次,当然Writer也不能创建对象,我们可以使用他的子类FileWriter,FileWriter是专门处理字符写入流的类。FileReader和FileWriter为我们提供了操作字符数据流的一般方法,其中比较高效的就是自定义一个数组,用这个数组作为临时存储区,每次读取一块(装满数组)数据,然后

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

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

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