「这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战」
1 输入输出流的源或者目的地并不仅限于磁盘、网络 2 内存也可以作为输入输出流的来源和目的地 3 以内存作为源或者目的地的流称为内存流
1. 构造方法
输入流
public BufferedReader(Reader in):创建一个新的默认大小输入缓冲区的缓冲字符输入流。public BufferedReader(Reader in, int sz):创建一个新的指定大小输入缓冲区的缓冲字符输入流。
参数
Reader in:字符输入流- 我们可以传递
FileReader,缓冲流会给FileReader增加一个缓冲区,提高FileReader的读取效率返回值吗, 包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回null
输出流
public BufferedWriter(Writer out): 创建一个新的默认大小输出缓冲区的缓冲字符输出流。public BufferedWriter(Writer out, int sz):创建一个使用给定大小输出缓冲区的新缓冲字符输出流。
参数
Writer out:字符输出流- 我们可以传递
FileWriter,缓冲流会给FileWriter增加一个缓冲区,提高FileWriter的写入效率 int sz:指定缓冲区的大小,不写就【默认大小】
构造举例,代码如下:
// 创建字符缓冲输入流
BufferedReader br = new BufferedReader(new FileReader("br.txt"));
// 创建字符缓冲输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));
1234
2. 使用步骤
输出流
- 创建字符缓冲输出流对象,构造方法中传递字符输出流
- 调用字符缓冲输出流中的方法write,把数据写入到内存缓冲区中
- 调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
- 释放资源
输入流
- 创建字符缓冲输入流对象,构造方法中传递字符输入流
- 使用字符缓冲输入流对象中的方法
read/readLine读取文本 - 释放资源
字符缓冲流分为
| BufferedReader | BufferedWriter |
|---|
字符缓冲输入流的构造方法
字符缓冲输入流BufferedReader类的构造方法
public BufferedReader(Reader in)
FileReader inOne=new FileReader("a1.txt");
BufferedReader inTwo=new BufferedReader(inOne)
字符缓冲输入流的读方法
BufferedReader类读取一行数据的方法
public String readLine() throws IOException
字符缓冲流输出流
字符缓冲输出流BufferedWriter类的构造方法
public BufferedWriter(Writer out)
FileWriter tofile=new FileWriter("a1.txt");
BufferedWriter out1=new BufferedWriter(tofile)
字符缓冲流输出流的写方法
BufferedWriter类增加行分隔符的方法
public void newLine() throws IOException
对象流分为
对象输入流 ObjectInputStream
对象输出流 ObjectOutputStream
对象输出流和对象输入流可以为应用提供对象持久化的功能,分别调用文件输出流和文件输入流来实现。另一种使用对象流的场景是,在不同主机用socket流在远程通信系统中传递传递数据。
对象输入流的构造方法
public ObjectInputStream(InputStream in)
从文件中读取对象时
• FileInputStream a= new FileInputStream("tom.txt");
• ObjectInputStream in = new ObjectInputStream(a);
对象输出流的构造方法
public ObjectOutputStream(OutputStream out)
将对象写入到文件时
• FileOutputStream b = new FileOutputStream("tom.txt");
• ObjectOutputStream out = new ObjectOutputStream(b);
对象流的成员方法
ObjectInputStream 类的读方法
public final Object readObject() throws
IOException, ClassNotFoundException
ObjectOutputStream 类的写方法
public final void writeObject(Object obj)
throws IOException