1. Pontos de conhecimento que você precisa saber para concluir este programa:
1. Escreva um programa Java simples, como hello world --- absurdo. . . . Ha ha
2. Compreender as operações de arquivo Java
3. Compreenda a operação de buffer de java
4. Alguns pontos de tratamento de exceções para operações de arquivo: 1. O arquivo de origem não pode ser lido. 2. Falha ao criar o arquivo de destino. 3. Problema de bloqueio de arquivo. 4. Problema de caracteres distorcidos. . . Talvez nem todos
Esses são os pacotes necessários
importar java.io.BufferedInputStream;
importar java.io.BufferedOutputStream;
importar java.io.FileInputStream;
importar java.io.FileOutputStream;
import java.io.IOException O tratamento de exceções é necessário durante operações de IO;
Pessoalmente, sinto que este método eficiente, quando se trata de instalar um computador, a operação mais eficiente deve ser relativamente alta em operações de memória e relativamente baixa em operações de IO diretas. . Então o que escolho aqui é ler a memória e escrever IO de maneira uniforme.
pacote com.itheima;importar java.io.BufferedInputStream;importar java.io.BufferedOutputStream;importar java.io.FileInputStream;importar java.io.FileOutputStream;importar java.io.IOException;/** * 5. Escreva uma cópia de o arquivo do programa, tente usar o método mais eficiente * * @author [email protected] * *. 1. O arquivo de origem não pode ser lido. 2. Falha ao criar o arquivo de destino 3. Problema de bloqueio de arquivo 4. Problema de caracteres distorcidos */public class Test5 {public static void main(String[] args) throws IOException {String src_file = "D:/java/java.doc" ;String des_file = "D:/java/java_copy.doc";copyFile(src_file, des_file);System.out.println("OK!");}public static void copyFile(String src, String des) lança IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null;try {// Cria um novo fluxo de entrada de arquivo e compare-o Ele buffers inBuff = new BufferedInputStream(new FileInputStream(src));// Crie um novo fluxo de saída de arquivo e coloque-o em buffer outBuff = new BufferedOutputStream(new FileOutputStream(des));// Buffer array byte[] b = new byte[1024 * 5];int len;while ((len = inBuff.read( b)) != -1) {outBuff.write(b, 0, len);}// Libera este fluxo de saída em buffer outBuff.flush();} finalmente {//Fechar o stream if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
Suplementos de outros internautas
try { Arquivo inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("O arquivo de origem não existe, o programa termina"); ; } Arquivo outputFile = new File(args[1]); byte[1024]; int temp = 0; while ((temp = in.read(data)) != -1) { out.write(data } in.close(); (FileNotFoundException e) { // Bloco catch TODO gerado automaticamente e.printStackTrace() } catch (IOException e) { // Bloco catch TODO gerado automaticamente e.printStackTrace(); }