Introdução
Neste laboratório, você aprenderá como copiar um arquivo para outro arquivo em Java. Existem várias maneiras de copiar um arquivo, como usar FileInputStream, FileOutputStream e a classe Files. Aqui, focaremos na classe Files, que é mais fácil de usar porque fornece um método copy() que copia instantaneamente o arquivo de origem para o arquivo de destino.
Importar as bibliotecas necessárias
No novo arquivo Java, importe as bibliotecas necessárias usando o seguinte código:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.File;
import java.io.FileInputStream;
Criar um objeto de arquivo
Crie um objeto de arquivo que aponte para o arquivo de origem que precisa ser copiado.
File source = new File("sourceFile.txt");
Criar um objeto de arquivo de destino
Crie um objeto de arquivo de destino que aponte para o arquivo onde você deseja copiar os dados do arquivo de origem.
File destination = new File("destinationFile.txt");
Use a classe Files para copiar os dados
Use a classe Files para copiar os dados do arquivo de origem para o arquivo de destino. Você pode usar o método copy() da classe Files para fazer isso.
Path sourcePath = Paths.get(source.getAbsolutePath());
OutputStream destinationStream = new FileOutputStream(destination);
Files.copy(sourcePath, destinationStream);
Use FileInputStream e FileOutputStream para copiar os dados
Neste método, usaremos FileInputStream e FileOutputStream para copiar os dados. Use o código a seguir para ler dados do arquivo de origem e escrever dados usando o método write() de FileOutputStream.
FileInputStream sourceStream = new FileInputStream(source);
FileOutputStream destinationStream = new FileOutputStream(destination);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = sourceStream.read(buffer)) > 0) {
destinationStream.write(buffer, 0, bytesRead);
}
sourceStream.close();
destinationStream.close();
Compilar o programa
Abra um terminal e navegue até o diretório ~/project. Compile o programa usando o seguinte comando:
javac CopyFile.java
Executar o programa
Execute o programa usando o seguinte comando:
java CopyFile
Resumo
Neste laboratório, você aprendeu como copiar dados de um arquivo para outro arquivo usando a classe Files e FileInputStream e FileOutputStream. A classe Files é mais fácil de usar porque fornece um método copy() que copia dados instantaneamente. Você pode usar FileInputStream e FileOutputStream para copiar os dados lendo e escrevendo-os manualmente.



