CodeGym /Java-Blog /Random-DE /Java – In Datei schreiben
John Squirrels
Level 41
San Francisco

Java – In Datei schreiben

Veröffentlicht in der Gruppe Random-DE
Eine der häufigsten Aufgaben in der Softwareentwicklung ist die Fähigkeit, Dateien lesen und schreiben zu können. In Java ist das Schreiben in eine Datei ein unkomplizierter Vorgang, der mithilfe integrierter Klassen und Methoden durchgeführt werden kann. In diesem Artikel untersuchen wir, wie man mit Java in eine Datei schreibt, und besprechen die verschiedenen beteiligten Klassen und Methoden. Java bietet integrierte Klassen wie FileWriter und PrintWriter zum Schreiben in eine Datei in Java.

Beispiel für Java-Schreiben in eine Datei

Schauen wir uns zunächst ein einfaches Beispiel für das Schreiben in eine Datei in Java an. Hier ist ein Beispiel dafür, wie man mit der FileWriter- Klasse eine Zeichenfolge in eine Datei in Java schreibt:

FileWriter-Klasse

Die FileWriter- Klasse ist eine weitere Möglichkeit, in Java in eine Datei zu schreiben. Es handelt sich um eine Zeichenstromklasse, mit der Sie Zeichendaten in eine Datei schreiben können. Hier ist ein Beispiel, das zeigt, wie Sie mit der FileWriter- Klasse einen String in eine Datei schreiben :
import java.io.FileWriter;
import java.io.IOException;


// Main method for the string to file in java starts from here,
public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write text to file
        String data = "Hello, world!";

        try {
            // create a FileWriter object with the file name
            FileWriter writer = new FileWriter("output.txt");

            // write the string to the file
            writer.write(data);

            // close the writer
            writer.close();

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir zunächst ein String- Objekt mit dem Namen „data“ , das den Text enthält, den wir in eine Datei schreiben möchten. Anschließend erstellen wir ein FileWriter- Objekt mit dem Namen der Datei, in die wir schreiben möchten, in diesem Fall mit dem Namen „ output.txt“ . Als nächstes verwenden wir die Methode write() des FileWriter- Objekts, um die Datenzeichenfolge in die Datei zu schreiben. Diese Methode benötigt ein String- Argument, das die zu schreibenden Daten enthält. Abschließend schließen wir das FileWriter- Objekt, um die Dateiressourcen freizugeben und geben eine Erfolgsmeldung an die Konsole aus, wenn der Schreibvorgang erfolgreich ist, oder eine Fehlermeldung, wenn eine Ausnahme abgefangen wird. Die FileWriter- Klasse ist eine einfache Möglichkeit, Zeichendaten in eine Datei in Java zu schreiben.

FileOutputStream-Klasse

Die FileOutputStream- Klasse wird verwendet, um Daten als Bytestrom in eine Datei zu schreiben. Hier ist ein Beispiel:
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            FileOutputStream stream = new FileOutputStream("output.txt");
            byte[] bytesToWrite = textToWrite.getBytes();
            stream.write(bytesToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir ein FileOutputStream- Objekt mit dem Namen „ stream “ und dem Dateinamen „output.txt“, in das geschrieben werden soll. Anschließend konvertieren wir den textToWrite- String mit der Methode getBytes() in ein Byte-Array und schreiben das Byte-Array mit der Methode write() in das Stream-Objekt . Zum Schluss schließen wir das Stream- Objekt.

BufferedWriter-Klasse

Die BufferedWriter- Klasse wird verwendet, um Text mit Pufferfunktionen in eine Datei zu schreiben. Hier ist ein Beispiel:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
            writer.write(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir ein BufferedWriter- Objekt namens „ writer “ mit einem FileWriter- Objekt, das in die Datei „output.txt“ schreibt. Anschließend verwenden wir die Methode write() des Writer- Objekts, um textToWrite in die Datei zu schreiben. Zum Schluss schließen wir das Writer- Objekt.

WriteString()-Methode

Die writeString()- Methode ist eine praktische Methode, die in Java 11 eingeführt wurde, um mithilfe der Files- Klasse einen String in eine Datei zu schreiben . Es ermöglicht Ihnen , in einer einzigen Codezeile einen String in eine Datei zu schreiben . Hier ist ein Beispiel:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write to a file
        String data = "Hello, world!";

        // create a file object
        Path file = Paths.get("output.txt");

        try {
            // write the string to the file using writeString() method
            Files.writeString(file, data);

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir zunächst ein String- Objekt mit dem Namen „data“ , das den Text enthält, den wir in eine Datei schreiben möchten. Anschließend erstellen wir ein Pfadobjekt mit dem Namen „ file“ , das die Datei darstellt, in die wir schreiben möchten, in diesem Fall mit dem Namen „output.txt“. Als nächstes verwenden wir die Methode Files.writeString() , um die Datenzeichenfolge in die durch das Dateiobjekt dargestellte Datei zu schreiben . Diese Methode benötigt zwei Argumente: das Path- Objekt, das die Datei darstellt, in die geschrieben werden soll, und das String- Objekt, das die zu schreibenden Daten enthält. Abschließend geben wir eine Erfolgsmeldung an die Konsole aus, wenn der Schreibvorgang erfolgreich war, oder eine Fehlermeldung, wenn eine Ausnahme abgefangen wurde. Die Methode writeString() ist eine praktische Möglichkeit, mit Java 11 oder höher einen String in eine Datei zu schreiben.

PrintWriter-Klasse

Die PrintWriter- Klasse leert den Ausgabepuffer automatisch, nachdem jede Zeile geschrieben wurde, und stellt so sicher, dass die Daten sofort in die Datei geschrieben werden. Dies macht es zu einer praktischen Wahl zum Schreiben großer Textdatenmengen in eine Datei. Hier ist ein Beispiel:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
            writer.println(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir ein PrintWriter- Objekt namens „ writer “ mit einem FileWrite- Objekt, das in die Datei „output.txt“ schreibt. Anschließend verwenden wir die println()- Methode des Writer- Objekts, um textToWrite in die Datei zu schreiben . Zum Schluss schließen wir das Writer- Objekt.

DataOutputStream-Klasse

Die DataOutputStream- Klasse wird verwendet, um primitive Java-Datentypen als Bytestrom in eine Datei zu schreiben. Hier ist ein Beispiel:
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";
        int numberToWrite = 42;

        try {
            DataOutputStream stream = new DataOutputStream(new FileOutputStream("output.txt"));
            stream.writeUTF(textToWrite);
            stream.writeInt(numberToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir ein DataOutputStream- Objekt mit dem Namen stream , das in die Datei „output.txt“ schreibt. Anschließend verwenden wir die Methode writeUTF() des Stream- Objekts, um den textToWrite- String zu schreiben, und die Methode writeInt() , um die Ganzzahl numberToWrite in die Datei zu schreiben . Zum Schluss schließen wir das Stream- Objekt.

FileChannel-Klasse

Die FileChannel- Klasse bietet eine Möglichkeit, Daten mithilfe von speicherabgebildeten E/A in eine Datei zu schreiben. Hier ist ein Beispiel:
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            File file = new File("output.txt");
            RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
            FileChannel channel = randomAccessFile.getChannel();
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            buffer.put(textToWrite.getBytes());
            buffer.flip();
            channel.write(buffer);
            randomAccessFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
In diesem Beispiel erstellen wir zunächst ein Dateiobjekt namens file mit dem Dateinamen „output.txt“ als Parameter. Anschließend erstellen wir ein RandomAccessFile- Objekt namens randomAccessFile mit dem Dateiobjekt und dem „rw“-Modus als Parameter. Anschließend erstellen wir ein FileChannel- Objekt mit dem Namen „ channel“ , das mit dem randomAccessFile- Objekt initialisiert wird . Anschließend erstellen wir ein ByteBuffer- Objekt namens buffer mit einer Kapazität von 1024 Bytes und geben den textToWrite- String als Parameter ein. Anschließend drehen wir das Pufferobjekt um, um es zum Schreiben vorzubereiten, und schreiben es mithilfe der Methode write() in das Kanalobjekt . Zum Schluss schließen wir das randomAccessFile- Objekt.

Abschluss

Zusammenfassend lässt sich sagen, dass das Schreiben in eine Datei mit Java eine häufige Aufgabe in der Softwareentwicklung ist, die mit mehreren integrierten Klassen und Methoden erledigt werden kann. In diesem Artikel haben wir mehrere Beispiele für das Schreiben in eine Datei besprochen, einschließlich der Verwendung der Klassen FileOutputStream , BufferedWriter , FileWriter , PrintWriter , DataOutputStream und FileChannel . Es ist wichtig zu beachten, dass beim Schreiben in eine Datei eine ordnungsgemäße Fehlerbehandlung und das Schließen der Datei nach dem Schreiben von entscheidender Bedeutung sind, um sicherzustellen, dass die Datei ordnungsgemäß gespeichert und die Ressourcen ordnungsgemäß freigegeben werden. Anhand der in diesem Artikel bereitgestellten Beispiele können sich Anfänger nun ein grundlegendes Verständnis dafür aneignen, wie man mit Java in eine Datei schreibt, und können mit dem Üben und Experimentieren mit verschiedenen Anwendungsfällen beginnen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION