1. Wissenspunkte, die Sie kennen müssen, um dieses Programm abzuschließen:
1. Schreiben Sie ein einfaches Java-Programm, z. B. „Hallo Welt --- Unsinn“. . . . Ha ha
2. Java-Dateioperationen verstehen
3. Verstehen Sie den Pufferbetrieb von Java
4. Einige Ausnahmebehandlungspunkte für Dateivorgänge: 1. Die Quelldatei kann nicht gelesen werden. 2. Fehler beim Erstellen der Zieldatei. 3. Problem mit der Dateisperre. 4. Problem mit verstümmelten Zeichen. . . Vielleicht nicht alle
Dies sind die benötigten Pakete
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; Bei E/A-Vorgängen ist eine Ausnahmebehandlung erforderlich
Persönlich bin ich der Meinung, dass bei dieser effizienten Methode bei der Installation eines Computers der effizienteste Vorgang relativ hoch bei Speichervorgängen und relativ niedrig bei direkten E/A-Vorgängen sein sollte. . Ich wähle hier also das einheitliche Lesen des Speichers und das Schreiben von E/A. Der Code lautet wie folgt:
package com.itheima;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 5. Schreiben Sie eine Kopie von Versuchen Sie, die Programmdatei mit der effizientesten Methode zu bearbeiten. * * @author [email protected] * * 1. Die Quelldatei kann nicht gelesen werden. 2. Die Zieldatei konnte nicht erstellt werden. 3. Problem mit der Dateisperre. 4. Problem mit verstümmelten Zeichen. */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) throws IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null;try {// Erstellen Sie einen neuen Dateieingabestream und vergleiche es. Es puffert inBuff = new BufferedInputStream(new FileInputStream(src));// Erstellen Sie einen neuen Dateiausgabestream und puffern Sie ihn outBuff = new BufferedOutputStream(new FileOutputStream(des));// Pufferarray byte[] b = new byte[1024 * 5];int len;while ((len = inBuff.read( b)) != -1) {outBuff.write(b, 0, len);}// Diesen gepufferten Ausgabestrom leeren outBuff.flush();} schließlich {//Schließe den Stream if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
Ergänzungen von anderen Internetnutzern
try { File inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("Die Quelldatei existiert nicht, das Programm wird beendet"); ; } File OutputFile = new File(args[1]); InputStream in = new FileInputStream(inputFile); byte[1024]; int temp = 0; while ((temp = in.read(date)) != -1) { out.write(date } in.close(); (FileNotFoundException e) { // TODO Automatisch generierter Catch-Block e.printStackTrace(); } Catch (IOException e) { // TODO Automatisch generierter Catch-Block e.printStackTrace(); }