Java-Programm zum Schreiben in eine Datei
In diesem Artikel sehen wir verschiedene Möglichkeiten, mit der Programmiersprache Java in eine Datei zu schreiben. Die Java FileWriter-Klasse in Java wird zum Schreiben zeichenorientierter Daten in eine Datei verwendet, da diese Klasse aufgrund ihrer Verwendung bei der Dateiverarbeitung in Java eine zeichenorientierte Klasse ist.
Da sind viele Möglichkeiten, in Java in eine Datei zu schreiben da es viele Klassen und Methoden gibt, die das Ziel wie folgt erfüllen können:
- Benutzen writeString() Methode
- Verwenden der FileWriter-Klasse
- Verwenden der BufferedWriter-Klasse
- Verwenden der FileOutputStream-Klasse
Methode 1: Verwendung der Methode writeString()
Diese Methode wird von Java Version 11 unterstützt. Diese Methode kann vier Parameter annehmen. Dies sind Dateipfad, Zeichenfolge, Zeichensatz und Optionen. Die ersten beiden Parameter sind obligatorisch, damit diese Methode in eine Datei schreiben kann. Es schreibt die Zeichen als Inhalt der Datei. Es gibt den Dateipfad zurück und kann vier Arten von Ausnahmen auslösen. Es ist besser, es zu verwenden, wenn der Inhalt der Datei kurz ist.
Beispiel: Es zeigt die Verwendung des writeString() Methode, die sich unter der Klasse „Files“ befindet, um Daten in eine Datei zu schreiben. Eine andere Klasse, Path, wird verwendet, um dem Dateinamen einen Pfad zuzuweisen, in den der Inhalt geschrieben wird. Die Dateiklasse verfügt über eine weitere Methode mit dem Namen readString() um den Inhalt einer vorhandenen Datei zu lesen, die im Code verwendet wird, um zu überprüfen, ob der Inhalt ordnungsgemäß in die Datei geschrieben ist.
Java
// Java Program to Write Into a File> // using writeString() Method> // Importing required classes> import> java.io.IOException;> import> java.nio.file.Files;> import> java.nio.file.Path;> // Main class> public> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > throws> IOException> > {> > // Assigning the content of the file> > String text> > => 'Welcome to geekforgeeks
Happy Learning!'> ;> > // Defining the file name of the file> > Path fileName = Path.of(> > '/Users/mayanksolanki/Desktop/demo.docx'> );> > // Writing into the file> > Files.writeString(fileName, text);> > // Reading the content of the file> > String file_content = Files.readString(fileName);> > // Printing the content inside the file> > System.out.println(file_content);> > }> }> |
Ausgabe
Welcome to geekforgeeks Happy Learning!
Methode 2: Verwenden der FileWriter-Klasse
Wenn der Inhalt der Datei kurz ist, ist die Verwendung der FileWriter-Klasse zum Schreiben in die Datei eine weitere bessere Option. Es schreibt auch den Zeichenstrom als Inhalt der Datei wie die Methode writeString(). Der Konstruktor dieser Klasse definiert die Standardzeichenkodierung und die Standardpuffergröße in Bytes.
Das folgende Beispiel veranschaulicht die Verwendung der FileWriter-Klasse zum Schreiben von Inhalten in eine Datei. Es erfordert die Erstellung des Objekts der FileWriter-Klasse mit dem Dateinamen, um in eine Datei zu schreiben. Als nächstes wird die Methode write() verwendet, um den Wert der Textvariablen in die Datei zu schreiben. Wenn beim Schreiben der Datei ein Fehler auftritt, wird eine IOException ausgelöst und die Fehlermeldung wird aus dem Catch-Block ausgegeben.
Beispiel:
Java
// Java Program to Write into a File> // using FileWriterClass> // Importing required classes> import> java.io.FileWriter;> import> java.io.IOException;> // Main class> public> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Content to be assigned to a file> > // Custom input just for illustration purposes> > String text> > => 'Computer Science Portal techcodeview.com'> ;> > // Try block to check if exception occurs> > try> {> > // Create a FileWriter object> > // to write in the file> > FileWriter fWriter => new> FileWriter(> > '/Users/mayanksolanki/Desktop/demo.docx'> );> > // Writing into file> > // Note: The content taken above inside the> > // string> > fWriter.write(text);> > // Printing the contents of a file> > System.out.println(text);> > // Closing the file writing connection> > fWriter.close();> > // Display message for successful execution of> > // program on the console> > System.out.println(> > 'File is created successfully with the content.'> );> > }> > // Catch block to handle if exception occurs> > catch> (IOException e) {> > // Print the exception> > System.out.print(e.getMessage());> > }> > }> }> |
Ausgabe
File is created successfully with the content.
Methode 3: Verwenden der BufferedWriter-Klasse
Es wird verwendet, um Text in einen Zeichenausgabestream zu schreiben. Es verfügt über eine Standardpuffergröße, es kann jedoch eine große Puffergröße zugewiesen werden. Es ist nützlich zum Schreiben von Zeichen, Zeichenfolgen und Arrays. Es ist besser, diese Klasse mit einer beliebigen Writer-Klasse zum Schreiben von Daten in eine Datei zu umschließen, wenn keine Eingabeaufforderungsausgabe erforderlich ist.
Beispiel:
Java
// Java Program to write into a File> // Using BufferedWriter Class> // Importing java input output libraries> import> java.io.BufferedWriter;> import> java.io.FileWriter;> import> java.io.IOException;> // Main class> public> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Assigning the file content> > // Note: Custom contents taken as input to> > // illustrate> > String text> > => 'Computer Science Portal techcodeview.com'> ;> > // Try block to check for exceptions> > try> {> > // Step 1: Create an object of BufferedWriter> > BufferedWriter f_writer> > => new> BufferedWriter(> new> FileWriter(> > '/Users/mayanksolanki/Desktop/demo.docx'> ));> > // Step 2: Write text(content) to file> > f_writer.write(text);> > // Step 3: Printing the content inside the file> > // on the terminal/CMD> > System.out.print(text);> > // Step 4: Display message showcasing> > // successful execution of the program> > System.out.print(> > 'File is created successfully with the content.'> );> > // Step 5: Close the BufferedWriter object> > f_writer.close();> > }> > // Catch block to handle if exceptions occurs> > catch> (IOException e) {> > // Print the exception on console> > // using getMessage() method> > System.out.print(e.getMessage());> > }> > }> }> |
Ausgabe
File is created successfully with the content.
Das folgende Beispiel zeigt die Verwendung der BufferedWriter-Klasse zum Schreiben in eine Datei. Außerdem muss das Objekt der BufferedWriter-Klasse wie FileWriter erstellt werden, um Inhalte in die Datei zu schreiben. Diese Klasse unterstützt jedoch das Schreiben großer Inhalte in die Datei mithilfe einer großen Puffergröße.
Methode 4: Verwenden der FileOutputStream-Klasse
Es wird verwendet, um rohe Stream-Daten in eine Datei zu schreiben. Die Klassen FileWriter und BufferedWriter werden verwendet, um nur den Text in eine Datei zu schreiben, aber die Binärdaten können mithilfe der Klasse FileOutputStream geschrieben werden.
Das Schreiben von Daten in eine Datei mithilfe der FileOutputStream-Klasse wird im folgenden Beispiel gezeigt. Außerdem muss das Objekt der Klasse mit dem Dateinamen erstellt werden, um Daten in eine Datei zu schreiben. Hier wird der String-Inhalt mithilfe von in das Byte-Array umgewandelt, das in die Datei geschrieben wird schreiben() Methode.
Beispiel:
Java
// Java Program to Write into a File> // using FileOutputStream Class> // Importing java input output classes> import> java.io.FileOutputStream;> import> java.io.IOException;> public> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Assign the file content> > String fileContent => 'Welcome to geeksforgeeks'> ;> > FileOutputStream outputStream => null> ;> > // Try block to check if exception occurs> > try> {> > // Step 1: Create an object of FileOutputStream> > outputStream => new> FileOutputStream(> 'file.txt'> );> > // Step 2: Store byte content from string> > byte> [] strToBytes = fileContent.getBytes();> > // Step 3: Write into the file> > outputStream.write(strToBytes);> > // Print the success message (Optional)> > System.out.print(> > 'File is created successfully with the content.'> );> > }> > // Catch block to handle the exception> > catch> (IOException e) {> > // Display the exception/s> > System.out.print(e.getMessage());> > }> > // finally keyword is used with in try catch block> > // and this code will always execute whether> > // exception occurred or not> > finally> {> > // Step 4: Close the object> > if> (outputStream !=> null> ) {> > // Note: Second try catch block ensures that> > // the file is closed even if an error> > // occurs> > try> {> > // Closing the file connections> > // if no exception has occurred> > outputStream.close();> > }> > catch> (IOException e) {> > // Display exceptions if occurred> > System.out.print(e.getMessage());> > }> > }> > }> > }> }> |
Ausgabe
File is created successfully with the content.