高效缓冲流
小于 1 分钟JavaIO流
对硬盘进行数据的读取相比于从内存中存取数据要慢的多。所以为JDK为我们提供了高效缓冲流来提高我们IO流的效率。内部原理就是借助内存的缓冲区来减少硬盘IO的次数,提高性能。
分类
- 字节流
- 输入流:BufferedInputStream
- 输出流:BufferedOutputStream
- 字符流
- 输入流:BufferedReader
- 输出流:BufferedWriter
对象创建
public BufferedInputStream(InputStream in)
public BufferedOutputStream(OutputStream out)
public BufferedReader(Reader in)
public BufferedWriter(Writer out)
使用
public static void main(String[] args) throws IOException {
FileInputStream inputStream = new FileInputStream("E:\\软件\\jetbeans\\ideaIU-2021.2.3.exe");
FileOutputStream outputStream = new FileOutputStream("e:\\ideaIU-2021.2.3.exe");
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
byte[] chars = new byte[1024 * 1024 * 10];
int len;
while ((len = bufferedInputStream.read(chars)) != -1){
bufferedOutputStream.write(chars, 0, len);
// 刷新缓冲区数据到文件
bufferedOutputStream.flush();
}
inputStream.close();
outputStream.close();
bufferedInputStream.close();
bufferedOutputStream.close();
}
特有的方法
类 | 方法 | 作用 |
---|---|---|
BufferedReader | public String readLine(boolean ignoreLF) throws IOException | 一次读取一行数据 |
BufferedWriter | public void newLine() throws IOException | 写入一个换行符,会根据系统变化 |