1, FileWritter schreibt Dateien in Dateien
FileWritter, Zeichenstrom schreibt Zeichen in Dateien. Standardmäßig wird der gesamte vorhandene Inhalt durch neuen Inhalt ersetzt. Wenn jedoch ein wahrer (boolescher) Wert als zweiter Parameter des FileWritter-Konstruktors angegeben wird, bleibt der vorhandene Inhalt erhalten und der neue Inhalt wird am Ende der Datei angehängt.
1. Ersetzen Sie alle vorhandenen Inhalte durch neue Inhalte.
new FileWriter(file);2. Behalten Sie den vorhandenen Inhalt bei und hängen Sie den neuen Inhalt an das Ende der Datei an.
new FileWriter(file,true);
Beispiel für eine Anhängedatei
Eine Textdatei mit dem Namen „javaio-appendfile.txt“ und dem folgenden Inhalt.
ABC Hello fügt neuen Inhalt new FileWriter(file,true) an
package com.yiibai.file; import java.io.File; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException; public class AppendToFileExample { public static void main( String[] args ) { try{ String data = " This content will append to the end of the file"; File file =new File("javaio-appendfile.txt"); //if file doesnt exists, then create it if(!file.exists()){ file.createNewFile(); } //true = append file FileWriter fileWritter = new FileWriter(file.getName(),true); BufferedWriter bufferWritter = new BufferedWriter(fileWritter); bufferWritter.write(data); bufferWritter.close(); System.out.println("Done"); }catch(IOException e){ e.printStackTrace(); } } }
Ergebnis
Jetzt wird der Inhalt der Textdatei „javaio-appendfile.txt“ wie folgt aktualisiert :
ABC Hallo. Dieser Inhalt wird an das Ende der Datei angehängt.
Zweitens schreibt BufferedWriter die Datei.
Gepufferte Zeichen (BufferedWriter) ist eine Zeichenstromklasse um Zeichendaten zu verarbeiten. Im Gegensatz zu Byte-Streams (in Bytes umgewandelte Daten) können Sie String-, Array- oder Zeichendaten direkt in eine Datei schreiben.
package com.yiibai.iofile; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class WriteToFileExample { public static void main(String[] args) { try { String content = "This is the content to write into file"; File file = new File("/users/mkyong/filename.txt"); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(content); bw.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }
Drei, FileOutputStream schreibt Dateien
Der Dateiausgabestream ist eine Byte-Stream-Klasse, die zur Verarbeitung roher Binärdaten verwendet wird. Um Daten in eine Datei zu schreiben, müssen die Daten in Bytes umgewandelt und in der Datei gespeichert werden. Das vollständige Beispiel finden Sie unten.
package com.yiibai.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class WriteFileExample { public static void main(String[] args) { FileOutputStream fop = null; File file; String content = "This is the text content"; try { file = new File("c:/newfile.txt"); fop = new FileOutputStream(file); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } // get the content in bytes byte[] contentInBytes = content.getBytes(); fop.write(contentInBytes); fop.flush(); fop.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fop != null) { fop.close(); } } catch (IOException e) { e.printStackTrace(); } } } } //更新的JDK7例如,使用新的“尝试资源关闭”的方法来轻松处理文件。 package com.yiibai.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class WriteFileExample { public static void main(String[] args) { File file = new File("c:/newfile.txt"); String content = "This is the text content"; try (FileOutputStream fop = new FileOutputStream(file)) { // if file doesn't exists, then create it if (!file.exists()) { file.createNewFile(); } // get the content in bytes byte[] contentInBytes = content.getBytes(); fop.write(contentInBytes); fop.flush(); fop.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }
Weitere Java-Methoden zum Schreiben von Dateien und zum Teilen verwandter Artikel finden Sie auf der chinesischen PHP-Website!