Utilisez le flux d'octets et le flux de tampon pour traiter les fichiers multi-processus pour améliorer la vitesse de lecture et d'écriture

Utilisez le flux d'octets et le flux de tampon pour traiter les fichiers

Insérez la description de l'image ici

 @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();
    }

Utilisez des flux tamponnés pour améliorer l'efficacité de lecture et d'écriture

Utilisez des flux tamponnés pour remplacer les flux élémentaires en développement.Insérez la description de l'image ici

@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();
    }
  • Remarque: Fermez d'abord le flux externe et fermez le flux interne. En fait, lorsque le flux externe est fermé, le flux interne sera également fermé, de sorte que la fermeture du flux interne peut être omise.
  • Dans le développement réel, try catch finally est utilisé pour s'assurer que le flux est fermé.
  • La fonction du flux de tampon est d'augmenter la vitesse de lecture et d'écriture des fichiers.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43941676/article/details/108370112
conseillé
Classement