1. Puntos de conocimiento que necesita saber para completar este programa:
1. Escriba un programa Java simple, como hola mundo --- tonterías. . . . Ja ja
2. Comprender las operaciones de archivos java
3. Comprender el funcionamiento del búfer de Java.
4. Algunos puntos de manejo de excepciones para operaciones de archivos: 1. El archivo fuente no se puede leer. 2. No se pudo crear el archivo de destino. 3. Problema de bloqueo de archivos. 4. Problema de caracteres confusos. . . tal vez no todos
Estos son los paquetes necesarios
importar java.io.BufferedInputStream;
importar java.io.BufferedOutputStream;
importar java.io.FileInputStream;
importar java.io.FileOutputStream;
import java.io.IOException; se requiere manejo de excepciones durante las operaciones IO
Personalmente, creo que con este método eficiente, cuando se trata de instalar una computadora, la operación más eficiente debe ser relativamente alta en operaciones de memoria y relativamente baja en operaciones de IO directa. . Entonces, lo que elijo aquí es leer la memoria y escribir IO de manera uniforme. El código es el siguiente:
paquete com.itheima;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 5. Escriba una copia de el archivo del programa, intente utilizar el método más eficiente * * @author [email protected] * *. 1. El archivo fuente no se puede leer. 2. No se pudo crear el archivo de destino 3. Problema de bloqueo de archivos 4. Problema de caracteres confusos */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) lanza IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null;try {// Crea un nuevo flujo de entrada de archivo y compárelo. Se almacena en buffer inBuff = new BufferedInputStream(new FileInputStream(src));// Cree un nuevo flujo de salida de archivo y almacene en buffer outBuff = new BufferedOutputStream(new FileOutputStream(des));// Matriz de buffer byte[] b = new byte[1024 * 5];int len; while ((len = inBuff.read( b)) != -1) {outBuff.write(b, 0, len);}// Vacíe este flujo de salida almacenado en el búfer outBuff.flush();} finalmente {//Cerrar la transmisión if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
Suplementos de otros internautas
intente { Archivo inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("El archivo fuente no existe, el programa finaliza"); } Archivo de salida = nuevo archivo (args [1]); Entrada de flujo = nuevo Archivo de entrada (salida de archivo de salida = nuevo Archivo de salida (archivo de salida) = nuevo); byte[1024]; int temp = 0; while ((temp = in.read(fecha)) != -1) { out.write(fecha } in.close(); (FileNotFoundException e) { // TODO Bloque de captura generado automáticamente e.printStackTrace(); } catch (IOException e) { // TODO Bloque de captura generado automáticamente e.printStackTrace(); }