Vorwort: IO -Streams sind hauptsächlich in zwei Kategorien unterteilt, nämlich Byte -Streams und Zeichenströme
Beachten:
1. Verwenden Sie Byte -Streams für Audiodateien, Bilder und Videos (breite Reichweite).
2. Wenn es nur Text beinhaltet, verwenden Sie Zeichenströme
Kopieren Sie den Textinhalt mit dem Byte -Stream (andere Dateien können auch sein)
Der Code ist wie folgt:
Importieren Sie Java.io.file; import Java.io.fileinputStream; Import Java.io.filenotFoundException; importieren Sie Java.io.io.FileOutputStream; Java.io.ioException importieren Java.io.inputstream; Infile = New Datei ("src.txt"); // Quelldatei inputStream in = new FileInputStream (infile); // Dateieingabe Stream -Datei outfile = new Datei ("tar.txt"); // Zieldatei outputStream out = new FileOutputStream (Outfile); // Dateiausgabe Stream Byte [] Buff = New Byte [1024]; // Erstellen Sie einen Puffer undzuweisen Sie 1024 Speicherbytes für Buff Int num = 0; while ((num = in.read (buff))! // out.write (Buff); // Das ist in Ordnung, aber es ist einfach, falsche Dateiinhalte zu bewirken.FLUSH (); // frisch die Buffer -Zeichenfolge s = neuer String (Buff); System.out.println ("Dateiinhalt erfolgreich kopiert"); System.out.println ("Dateikopie inhalt ist /n"+s); } in.close (); // den Eingangsstrom ausschließen.CLOSE (); // den Ausgangsstrom schließen // infile.delete (); // die Quelldatei löschen // outfile.renameto (neue Datei ("umbename.txt"); // Die Ausgabedatei umbenennen} catch (FilenotFoundException e) {e.printstacktrace (); // Die Ausnahmeinformationen in der Befehlszeile und den Grund für den Fehler im Programm} catch (ioException e) {e.printstacktrace () drucken; }}}Kopieren Sie den Textinhalt mit Zeichen Streams (nur Textdateien)
Der Code ist wie folgt:
import Java.io.bufufferedReader; Import Java.io.BufferedWriter; Import Java.io.file; Import Java.io.FilenotFoundException; Importieren Sie Java.io.io.filereader; importieren Sie Java.io.IO.FileWriter; Infile = new Datei ("d: /src.txt"); // Quelldatei fileReader fileReader = new FileReader (infile); // Dateizeichen Stream BufferedReader BufferedReader = New BufferedReader (FileReader) lesen; // Die Lesezeichen in die cache -Datei -Outfile = neue Datei ("d: /tar.txt") eingeben; // Zieldatei -Dateiwriter FileWrite = New FileWriter (OutFile); // Character Stream BufferedWriter BufferedWriter schreiben = neuer BufferedWriter (FileWrite); // den Zeichenstrom in die Cache -Zeichenfolge s = "" eingeben; String str = ""; while (s = bufferedReader.readline ()! // Zeichenstrom -Cache wird in die Datei bufferedWriter.newline () geschrieben; // Lesen Sie nach Zeile, wenn Newline -Zeichen auftritt, Newline BufferedWriter.flush (); // frischer Cache Str+= S; } System.out.println ("Dateikopie inhalt ist /n"+str); // Schließen Sie den Eingangs- und Ausgangsstrom -FileReader.close (); bufferedReader.CLOSE (); filewrite.close (); bufferedWriter.close (); bufferedWriter.close (); // infile.delete (); // die Quelldatei löschen // outfile.renameto (neue Datei ("umbename.txt"); // Die Ausgabedatei umbenennen} catch (FilenotFoundException e) {e.printstacktrace (); // Die Ausnahmeinformationen in der Befehlszeile und den Grund für den Fehler im Programm} catch (ioException e) {e.printstacktrace () drucken; }}}veranschaulichen:
Wenn Sie den Textinhalt kopieren möchten, indem Sie Dateiinhalte anpassen, anstatt ihn zu überschreiben, ändern Sie diese wie folgt wie folgt
OutputStream out = new FileOutputStream (Outfile, true); // Byte Stream
FileWriter FileWrite = New FileWriter (Outfile, True); // Zeichenstrom
Wenn Sie die Cache -Größe im Zeichenstrom angeben möchten, ändern Sie sie wie folgt
BufferedWriter bufferedWriter = neuer BufferedWriter (FileWrite, 1024);