IO(输入输出流)

来源:互联网 发布:手机视频恢复软件 编辑:程序博客网 时间:2024/05/18 13:12

 ------- android培训java培训、期待与您交流! ----------

IO流分类


    
    字符流
        字符输入流 -- Reader
        字符输出流 -- Writer
    字节流
        字节输入流 -- InputStream

        字节输出流 -- OutputStream

字节流的作用: 用于读取、写入图像数据之类的原始字节流(图片、音视频)

字节输出流 -- OutputStream
    写入数据:
        public abstract void write(int b) :  写入一个字节
        public void write(byte[] b) : 写入一个字节数组
        public void write(byte[] b,int off, int len) 写入一个字节数组的一部分

        void close()关闭并释放此输出流
    使用字节输出流的步骤:
           a: 创建字节输出流对象
           b: 写入数据
           c: 释放资源

   FIleOutputStream是OutputStream的子类,它是操作文件的字节输出流,专门同于把数据写入文件.

例如:

   通过FileOutputStream写数据时,自动创建了文件fos.txt并将数据写入文件.需要注意的是,如果是通过FileOutputStream向一个已存在的文件写入数据,那么该文件的内容会首先被清空,在写入新的数据,若希望在已存在的文件中追加新内容,则可以使用FileOutputStream的构造函数FileOutputStream(String fileName , boolean append)来创建文件输出流对象,并把appened参数的设定为true.



字节输入流 -- InputStream
    字节输入流的操作步骤:
        a: 创建字节输入流对象
        b: 获取数据
        c: 释放资源

   FileInputStream 是InputStream的子类,它是操作文件的字节输入流,专门用于读取文件中的数据,由于从文件读取数据是重复的操作,因此需要通过循环语句来实现数据的持续读取,创建的字节流FileInputStream通过read()方法将当前目录文件fos.txt中的数据读取并打印,需要注意的是,在读取文件数据时,必须保证文件是存在并且可读的,否则会抛出文件找不到的异常FileNotFoundException.


在IO包中提供了两个带缓冲的字节流,分别是BufferedIntputStream和BufferedOutputStream这两个流.它们的构造方法中分别接受了InputStream和OutputStream类型的参数作为包装对象,在读写数据时提供缓冲功能.

数据类型分类:
    字节流:
        字节输入流: InputStream
            (高效)字节缓冲输入流:BufferedInputStream

       
        字节输出流: OutputStream
            (高效)字节缓冲输出流: BufferedOutputStream


   
    字符流:
        字符输入流: Reader
            (高效)字符缓冲输入流: BufferedReader


        字符输出流: Writer
            (高效)字符缓冲输出流: BufferedWriter

InputStreamReader 是字节流通向字符流的桥梁

OutputStreamWriter 是字符流通向字节流的桥梁

 ------- android培训java培训、期待与您交流! ----------

0 0