バイトストリームとバッファストリームを使用してファイルをマルチプロセスし、読み取りと書き込みの速度を向上させます

バイトストリームとバッファストリームを使用してファイルを処理する

ここに画像の説明を挿入

 @Test
    public void method() throws IOException {
    
    
        File file1 = new File("test1.png");
        File file2 = new File("test2.png");

        FileInputStream fileInputStream = new FileInputStream(file1);
        FileOutputStream fileOutputStream = new FileOutputStream(file2);

        int len = 0;
        byte[] bytes = new byte[1024];
        while((len = fileInputStream.read(bytes)) != -1){
    
    
            fileOutputStream.write(bytes,0,len);
        }
        System.out.println("复制成功");
        fileInputStream.close();
        fileOutputStream.close();
    }

バッファリングされたストリームを使用して、読み取りと書き込みの効率を向上させます

バッファリングされたストリームを使用して、開発中のエレメンタリストリームを置き換えます。ここに画像の説明を挿入

@Test
    public void method() throws IOException {
    
    

        //1.创建文件
        File file1 = new File("test1.png");
        File file2 = new File("test2.png");

        //2.创建流
        //2.1创建节点流
        FileInputStream fileInputStream = new FileInputStream(file1);
        FileOutputStream fileOutputStream = new FileOutputStream(file2);

        //2.2创建缓冲流
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

        // the number of bytes to write.
        int len = 0;
        //每次读的字节数为10
        byte[] bytes = new byte[10];
        while ((len = bufferedInputStream.read(bytes)) != -1){
    
    
            //写
            bufferedOutputStream.write(bytes,0,len);
        }

        System.out.println("复制成功");
        //关闭流的顺序,先关闭外层的流,再关闭内层的流
        bufferedInputStream.close();
        bufferedOutputStream.close();
        //fileInputStream.close();
        //fileOutputStream.close();
    }
  • 注:最初に外側の流れを閉じ、次に内側の流れを閉じます。実際、外側の流れを閉じると、内側の流れも閉じられるため、内側の流れの閉じは省略できます。
  • 実際の開発では、最終的にtry catchを使用して、ストリームが確実に閉じられるようにします。
  • バッファストリームの機能は、ファイルの読み取りと書き込みの速度を上げることです。読み取りと書き込みの速度を上げる理由は、バッファが内部に提供されているためです。

おすすめ

転載: blog.csdn.net/weixin_43941676/article/details/108370112