java基础篇15- I/O流

1.I/O流
1.1 基本概念
   I/O就是Input/Output的简写,也就是输入/输出的含义。
   I/O流主要指像流水一样源源不断进行读写的状态/过程。
1.2 基本分类
   以数据读写的单位不同分为:字节流 和 字符流。
   其中字节流主要指以字节为基本单位进行读写的流,可以用于读写任何类型的文件。
   其中字符流主要指以字符(2个字节)为基本单位进行读写的流,只能用于读取文本文件。
   以数据流动方向的不同分为:输入流 和 输出流(站在程序的角度)。
   其中输入流主要指从文件中读取数据内容输入到程序的内部。
   其中输出流主要指将程序中的数据内容输出到文件中,也就是写入到文件。
1.3 I/O流的框架
   字节流的顶层父类:InputStream类 和 OutputStream类       - 抽象类  
   其中InputStream类的常见子类:
       FileInputStream类、DataInputStream类、ObjectInputStream类
   其中OutputStream类的常见子类:
       FileOutputStream类、DataOutputStream类、ObjectOutputStream类
   字符流的顶层父类:Reader类 和 Writer类                 - 抽象类
   其中Reader类的常见子类:
       BufferedReader类、InputStreamReader类
   其中Writer类的常见子类:
       BufferedWriter类、OutputStreamWriter类
补充:
   java.io.PrintStream类是OutputStream类的间接子类。
1.4 FileOutputStream类
(1)基本概念
   java.io.FileOutputStream类主要用于将图像数据之类的原始字节流写入输出流中。
(2)常用的方法
   FileOutputStream(String name) - 根据参数指定的文件名来构造对象。
   FileOutputStream(String name, boolean append) - 用于以追加的方式来构造对象。
   void write(int b) - 用于写入单个字节数据。
   void write(byte[] b, int off, int len) 
       - 用于将byte数组b中从off位置开始的len个字节写入输出流。
   void write(byte[] b) 
       - 用于将byte数组中的所有内容写入输出流。
   void close() - 用于关闭流并释放有关资源。
1.5 FileInputStream类
(1)基本概念
   java.io.FileInputStream类用于从输入流中读取图像数据之类的原始字节流。
(2)常用的方法          
   FileInputStream(String name) - 根据参数指定的文件名来构造对象。
   int read() - 用于从输入流中读取一个字节的数据。
        - 若读取到文件末尾则返回-1,否则返回实际读取到的字节数据。
   int read(byte[] b, int off, int len) 
        - 用于读取len个字节放入到数组b中从下标off开始的位置。
   int read(byte[] b) 
        - 用于读取b.length个字节放入数组b中。
        - 当返回-1时表示已经读取到文件的末尾,否则返回实际读取到的字节个数。
   int available() - 用于获取该输入流所关联文件的大小。
   void close()
1.6 DataOutputStream类(查手册会用即可)
(1)基本概念
   java.io.DataOutputStream类主要用于将基本数据类型的变量写入到输出流中。
(2)常用的方法   
   DataOutputStream(OutputStream out) - 根据参数指定的引用来构造对象。
       - 其中OutputStream是个抽象类,因此实参需要传递子类的对象。
   void writeInt(int v) - 用于将参数指定的整数以4个字节形式写入,先写入高字节。
       - 如:127:0000 0000    0000 0000    0000 0000    0111 1111
                   高                   =>                 低
   void close()
1.7 DataInputStream类(查手册会用即可)
(1)基本概念
   java.io.DataInputStream类主要用于从输入流直接读取一个基本数据类型的数据。
(2)常用的方法
   DataInputStream(InputStream in) - 根据参数指定引用构造对象。
       - 其中InputStream类是个抽象类,因此实参需要传递子类的对象。
   int readInt() - 用于读取一个整数并返回。
   void close()
1.8 BufferedReader类(重点)
(1)基本概念
   java.io.BufferedReader类主要用于读取单个字符、字符数组以及整个字符串。
(2)常用的方法
   BufferedReader(Reader in) - 根据参数指定的引用来构造对象。
      - 其中Reader类是个抽象类,实参需要传递子类的对象。
   int read() - 用于读取单个字符并返回。
      - 当读取到末尾则返回-1,否则返回实际读取到的数据内容。
   int read(char[] cbuf, int off, int len) 
      - 用于读取len个字符放入数组cbuf中下标从off开始的位置。
   int read(char[] cbuf)
      - 用于读取cbuf.length个字符放入数组cbuf中。
   String readLine() - 用于读取一行字符串内容。
   void close()
1.9 BufferedWriter类
(1)基本概念
   java.io.BufferedWriter类主要用于写入单个字符、字符数组以及字符串内容。
(2)常用的方法
   BufferedWriter(Writer out) - 根据参数指定的引用来构造对象。
      - 其中Writer是个抽象类,实参需要传递子类对象。
   void write(int c) - 用于写入单个字符。
   void write(char[] cbuf, int off, int len) 
      - 用于写入cbuf中从off位置开始的len个字符。
   void write(char[] cbuf)
      - 用于写入cbuf中所有的字符。
   void write(String str) - 用于写入整个字符串。
   void newLine() - 用于写入行分隔符,也就是换行符。
   void close()
1.10 PrintStream类
(1)基本概念
   java.io.PrintStream类主要用于更加方便地打印各种类型的数据。
(2)常用的方法 
   PrintStream(OutputStream out) - 根据参数指定的引用来构造对象。
       - 其中OutputStream类是个抽象类,实参需要传递子类的对象。
   void print(String s) - 用于打印参数指定的字符串。
   void println(String x) - 用于打印参数指定的字符串并换行。

   void close()

不积跬步,无以至千里;不积小流,无以成江海。

但愿能够帮助看到这篇文章的你! ^_^ 加油

猜你喜欢

转载自blog.csdn.net/qq474800358/article/details/80861563