java.io.BufferedInputStream 继承自InputStream

  • 方法
    • int read()读一个字节 调用一次读一个字节 返回值返回每次读取的数据
    • int read(byte[] bytes)读一个字节数组 数据保存在字节数组中 返回值返回每次读取的有效个数
    • close()关闭资源
  • 构造方法

    • public BufferedInputStream(InputStream in)

      1. InputStream in:所有字节输入流的超类,可以传入其任意子类对象<br /> FileInputStream

      java.io.BufferedOutputStream 字节输出缓冲流 继承自OutputStream

  • 方法

    • write(int b)写一个字节
    • write(byte[] bytes) 写一个字节数组
    • write(byte[]bytes,int start,int length)写字节数组的一部分
    • close() 关闭资源
  • 构造方法

    • public BufferedOutputStream(OutputStream out)

                                   outputStream out:所有字节输出流的超类,可以传入其任意子类对象<br />                                                                    FileOutputStream
      

      java.io.BufferedWriter 字符输出缓冲流 继承自Writer

  • 方法

    • write(int c)写一个字符
    • write(char[] chs)写一个字符数组
    • write(char[] chs,int start ,int length)写字符数组一部分
    • write(String str)写字符串
    • flush()刷新
    • close()关闭资源
  • 特有方法
    • void newLine()写一个换行
  • 构造方法

    • public BufferedWriter(Writer w)

                            Writer w:所有字符输出流的超类 抽象类<br />                                              可以传入其任意子类对象 FileWriter
      

      java.io.InputStreamReader 字节通往字符的桥梁 转换流

  • 方法

    • int read()读一个字符
    • int read(char[] chs)读一个字符数组
  • 构造方法

    • public InputStreamReader(InputStream in)使用idea默认编码
    • public InputStreamReader(InputStream in,String charSetName) 使用指定编码

                             InputStream in:所有字节输入流的超类 抽象类<br />                                                        可以传入其任意子类对象 FileInputStream BufferedInputStream<br />                               String charSetName:指定编码表 注意 不能随便写 指定的编码不存在会抛异常<br />                                                                编码表名字不区分大小写
      

      java.io.OutputStreamWriter 字符通往字节的桥梁 转换流

  • 方法

    • write(int c)写一个字符
    • write(char[ ] chs)写一个字符数组
    • write(char[ ] chs,int start,int length)写字符数组的一部分
    • write(String str)
  • 构造方法

    • public OutputStreamWriter(OutputStream out)使用idea默认编码
    • public OutputStreamWriter(OutputStream out , String charSetName)使用编码

      java.io.ObjectOutputStream 序列化流

  • 构造方法

    • public ObjectOutputStream(OutputStream out)
  • 方法

    • writeObject(Object obj)写对象

      java.io.ObjectInputStream 反序列化流

  • 构造方法

    • public ObjectInputStream(InputStream in)
  • 方法
    • Object readObject()读对象

      Serializable 序列化接口 标记型接口 实现这个接口就允许序列化 不实现 就报错

      标记型接口:没有任何方法的接口 这个接口就代表一个标记
      静态和瞬态都不能序列化
      transient:瞬态关键字 阻止成员序列化

java.io.PrintStream 字节打印流

  • 构造方法

    • public PrintStream(String path)
    • public PrintStream(File file)
    • public PrintStream(OutputStream out)

      java.io.PrintWriter 字符打印流

  • 构造方法

    • public PrintWriter(String path)
    • public PrintWriter(File file)
    • public PrintWriter(OutputStream out)
    • public PrintWriter(Writer w)
  • 特有方法
    • void println(Object obj);
    • void print(Object obj);
  1. 打印流只负责 数据目的
  2. 打印流的方法 不抛IO异常
  3. 字符打印流可以开启自动刷新

      1. 构造方法中必须是流对象
         - public PrintWriter(OutputStream out,boolean flush)
         - public PrintWriter(Writer w,boolean flush)
         - 如果flush的值为true 则开启自动刷新
    
                  2. 自动刷新只针对于 println printf format方法
    

    Commons IO

  • Commons IO的使用
    • IOUtils类
      • 静态方法:IOUtils.copy(InputStream in,OutputStream out)传递字节流,实现文件复制
      • 静态方法:IOUtils.closeQuietly(任意流对象)悄悄的释放资源,自动处理close()方法抛出的异常
    • FileUtils类
      • 静态方法:FileUtils,copyDirectoryToDirectory(File src,File dest);传递File类型的目录,进行整个目录的复制,自动进行递归遍历
      • 静态方法:writeStringToFile(File file,String str)写字符串到文本文件中
      • 静态方法:readFileToString(File file)读取文本文件,返回字符串