瑞安哪里有做百度的网站,网页升级访问中自动跳转中,杭州设计公司有哪些,重庆有哪些做网站公司缓冲流对原始流进行了包装#xff0c;以提高原始流读写数据的性能。
字节缓冲流#xff08;BufferedInputStream和BufferedOutputStream#xff09; 字节缓冲流在内存中提供了一个默认为8kb的区域#xff0c;用于缓冲#xff0c;当流开始时#xff0c;先读取一个8kb的内… 缓冲流对原始流进行了包装以提高原始流读写数据的性能。
字节缓冲流BufferedInputStream和BufferedOutputStream 字节缓冲流在内存中提供了一个默认为8kb的区域用于缓冲当流开始时先读取一个8kb的内容缓存到内存然后再对其进行操作速度会变快因为字节缓冲流利用缓冲区将数据暂时存储起来减少了频繁地进行读写操作的次数从而提高了读写的效率。相较于直接读写字节流使用字节缓冲流可以减少系统调用次数提升性能。就是直接操作硬盘的次数变少了。 而缓存的大小也是可以自定义的 但默认时8kb
下面时一个拷贝图片的代码示范
package day0927;
import java.io.*;
public class demo9 {public static void main(String[] args) {try (FileInputStream in new FileInputStream(D:\\asdf.jpg);//将低级流放入高级流InputStream bin new BufferedInputStream(in);FileOutputStream out new FileOutputStream(E:\\asdf.jpg);OutputStream bout new BufferedOutputStream(out)){byte[] buffer new byte[1024];int b;while ((b bin.read(buffer))! -1){bout.write(buffer,0,b);}} catch (Exception e) {throw new RuntimeException(e);}}
}字符缓冲流BufferedInputStream和BufferedOutputStream 字符缓冲流提供了一个8kb的默认缓冲区域先将字符读取8kb到内存再在内存中进行操作然后再对其进行操作速度会变快因为字符缓冲流利用缓冲区将数据暂时存储起来减少了频繁地进行读写操作的次数从而提高了读写的效率。相较于直接读写字节流使用字符缓冲流可以减少系统调用次数提升性能。就是直接操作硬盘的次数变少了。 下面提供字符缓冲流复制txt文件的代码示范
package day0927;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class demo10 {public static void main(String[] args) {try (FileReader fileReader new FileReader(src\\a.txt);BufferedReader br new BufferedReader(fileReader);FileWriter fileWriter new FileWriter(src\\d.txt);BufferedWriter bw new BufferedWriter(fileWriter);){String b;//readLine()一行一行读取文本如没有内容后将返回nullwhile ((b br.readLine()) ! null){System.out.println(b);bw.write(b);//newLine()换行方法bw.newLine();}} catch (Exception e) {throw new RuntimeException(e);}}
}