黑马程序员技术交流社区

标题: IO流小总结 [打印本页]

作者: 活的精彩    时间: 2015-12-5 09:44
标题: IO流小总结
1.概念
         IO流用来处理设备之间的数据传输
         Java对数据的操作是通过流的方式
         Java用于操作流的类都在IO包中
         流按流向分为两种:输入流,输出流。
         流按操作类型分为两种:
                字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的
                字符流 : 字符流只能操作纯字符数据,比较方便。
2.     (1)字节流
                输出字节流:OutputStream:字节写入流抽象类
                                |--->FileOutputStream:字节写入流
                                |--->BufferedOutputStream:字节写入流缓冲区
                                |--->PrintStream:打印流
                输入字节流:InputStream:字节读取流抽象类
                                |--->FileInputStream:字节读取流
                                |--->BufferedInputStream:字节读取流缓冲区
        (2)字符流        
                输出字符流:Writer:字符写入流的抽象
                                |--->FileWriter:字符写入流
                                |--->BufferedWriter:字符写入流缓冲区
                                |--->OutputStreamWriter:字符通向字节的转换流(涉及键盘录入时用)
                                |--->PrintWriter:        打印流,可处理各种类型的数据
                输入字符流:Reader: 字符读取流的抽象类
                                |--->FileReader:字符读取流
                                        |--->LineNumberReader:跟踪行号的缓冲字符读取流
                                |--->BufferedReader:字符读取流缓冲区
                                |--->InputStreamReader:字节通向字符的转换流(涉及键盘录入时用)
        (3)IO流常用基类方法摘要:
                **字节写入流:OutputStream:
                        void close() 关闭此输出流并释放与此流有关的所有系统资源。
                        void flush()刷新此输出流并强制写出所有缓冲的输出字节。
                        abstract  void write(int b)  将指定的字节写入此输出流。
                        void write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。   
                        void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
                **字节读取流:InputStream:
                        void close() 关闭此输入流并释放与该流关联的所有系统资源。
                        int available() (特有方法) 返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。
                        abstract  int read() 从输入流中读取数据的下一个字节。
                        int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
                        int read(byte[] b, int off, int len)  将输入流中最多 len 个数据字节读入 byte 数组。
                        long skip(long n) 跳过和丢弃此输入流中数据的 n 个字节。
         
                字符写入流:Writer:
                        abstract  void close() 关闭此流,但要先刷新它。
                        abstract  void flush() 刷新该流的缓冲。
                        void write(int c) 写入单个字符。
                        void write(char[] cbuf) 写入字符数组。         
                        abstract  void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
                        void write(String str) 写入字符串。
                        void write(String str, int off, int len) 写入字符串的某一部分。

              字符读取流:Reader:
                        abstract  void close() 关闭该流并释放与之关联的所有资源。
                        int read() 读取单个字符。
                        int read(char[] cbuf)  将字符读入数组
                        abstract  int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
                        long skip(long n)  跳过字符。



作者: 野生小屌丝    时间: 2015-12-5 15:01
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 小小的程序员    时间: 2015-12-5 15:46
挺好的  厉害  竟然还是个美女
作者: 袁有福123    时间: 2015-12-5 17:13
给力 谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2