Utilisez le flux d'octets et le flux de tampon pour traiter les fichiers
@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.
@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.