欢迎使用CSDN-markdown编辑器

来源:互联网 发布:软件机器码修改 编辑:程序博客网 时间:2024/06/05 05:19

字节缓冲流

  1. 在IO包中提供两个带缓冲的字节流,分别是BufferedInputStream和BufferdOutputStream,这两个流都使用了装饰设计模式。它们的构造方法中分别接收InputStream和OutputStream类型的参数作为被包装对象,在读写数据时提供缓冲功能。应用程序、缓冲流和底层字节流之间的这两个流内部都定义了一个大小为8192的字节数组,当调用read()或者write()方法读写数据时,首先将读写的数据存入定义好的字节数组,然后将字节数组的数据一次性读写到文件中,这种方式与前面讲解的字节流的缓冲区类似,都对数据进行了缓冲,从而有效的提高数据的读写效率。
import java.io.*;public class BufferIOTest {    public static void main(String[] args)throws IOException {        String inputPath = "src/test.txt";        String outputPath = "src/test2.txt";        BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(inputPath));        BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputPath));        int b = 0;        while ((b = inputStream.read())!=-1){            System.out.println((char) b);            outputStream.write(b);        }        inputStream.close();        outputStream.close();    }}
import java.io.*;public class Buffer {    public static void main(String[] args) throws IOException{      String filePath = "src/test.txt";      String filePath1 = "src/filePath3.txt";      BufferedReader reader = new BufferedReader(new FileReader(filePath));      BufferedWriter writer = new BufferedWriter(new FileWriter(filePath1));      String str;      while ((str = reader.readLine())!=null){          writer.write(str);          writer.newLine();      }      reader.close();      writer.close();    }}
原创粉丝点击