一.字节流与字符流基本操作
在java.io 包中流的操作主要有字节 流和字符流两大类,两类都有输入和输出操作。
在字节流中输出数据主要使用 OutputStream类完成,输入使的是InputStream类,
在字符流中输出主要是使用Writer类完成,输入主要是使用Reader类完成。
在 Java 中 IO 操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:
(1)使用File类打开一个文件。
(2)通过字节流或字符流的子类指定输出的位置。
(3)进行读/写操作。
(4)关闭输入/输出。
1.字节流
字节流主要是操作byte类型数据, 以byte数组为准,主要操作类就是 OutpuStream
类和
InputStream类。
1.字节输出流:OutputStream
OutputStream是整个IO包中字节输出流的最大父类,此类的定义如下:
public abstract class OutputStream
extends Object
implements Closeable, Flushable
从以上的定义中可以发现,此类是一个抽象类,如果要想使用此类的话,首先必须通过
子类实例化对象。如果现在要操作的是一个文件,则可以使用FileOutputStream类,
通过向上转型后,可以为OutputStream实例化,在OutputStream类中的主要操作方法。
OutputStream 类的常用方法 | ||
序 号 | 方法或常量 | 类 型 |
1 | public void close()throws IOException | 普通 |
2 | **public void flush()throws lOException ** | 普通 |
3 | **public void write(byte[]b) throws IOException ** | 普通 |
4 | **public void write (byte[] b, int off, int len) throws ** | 普通 |
5 | **public abstract void write(int b) throws IOException ** | 普通 |
1.1 字节输入流:InputStream
既然程序可以利用 OuputSteam 类向文件中写入内容,则也可以通过IapuStream类头文
件中把内容读取进来。InputStream 类的定义如下:
public abstract class InputStream
extends Object
implements Closeable
与 OutputStream 类一样,InputStream 本身也是一个抽象类,必须依靠其子类,如果
现在是从文件中读取,子类肯定是FileInputStream。InputStream类中的主要方法。
InputStream 类的常用方法 | ||
序 号 | 方法或常量 | 类 型 |
1 | public int available()throws IOException | 普通 |
2 | public void close()throws IOException | 普通 |
3 | public abstract int read() throws IOException | 普通 |
4 | public int read(byte[] b) throws IOException | 普通 |
2.字符流
2.1 字符输出流 Writer
Writer 本身是一个字符流的输出类,此类的定义如下:
public abstract class Writer
extends Object
implements Appendable, Closeable, Flushable
此类本身也是一个抽象类,如果要想使用此类,则肯定要使用其子类,此时如果是向文件
中写入内容,应该使用FileWriter的子类。Writer类的常用方法。
Writer 类的常用方法 | ||
序 号 | 方法或常量 | 类 型 |
1 | public abstract void close() throws IOException | 普通 |
2 | public void write(String str) throws IOException | 普通 |
3 | public void write(char[] cbuf) throws IOException | 普通 |
4 | public abstract void flush() throws IOException | 普通 |
FileWriter类的构造方法定义如下:
public FileWriter(File file) throws IOException
2.2 字符输入流:Reader
Writer 本身是一个字符流的输出类,此类的定义如下:
public abstract class Reader
extends Object
implements Readable, Closeable
Reader 类本身也是抽象类,如果现在耍从文件中读取内容,则可以直接使用 FileReader子
类。Reader 类的常用方法。
FileReader的构造方法定义如下:
public FileReader(File file) throws FileNotFoundException