logo

Java program pro zápis do souboru

V tomto článku uvidíme různé způsoby zápisu do souboru pomocí programovacího jazyka Java. Třída Java FileWriter v jazyce Java se používá k zápisu znakově orientovaných dat do souboru, protože tato třída je znakově orientovaná třída kvůli tomu, co se používá při manipulaci se soubory v jazyce Java.

Je jich mnoho způsoby zápisu do souboru v Javě protože existuje mnoho tříd a metod, které mohou splnit tento cíl takto:



  1. Použitím writeString() metoda
  2. Použití třídy FileWriter
  3. Použití třídy BufferedWriter
  4. Pomocí třídy FileOutputStream

Metoda 1: Použití metody writeString().

Tuto metodu podporuje Java verze 11. Tato metoda může mít čtyři parametry. Jsou to cesta k souboru, sekvence znaků, znaková sada a možnosti. První dva parametry jsou povinné pro zápis této metody do souboru. Zapíše znaky jako obsah souboru. Vrací cestu k souboru a může vyvolat čtyři typy výjimek. Je lepší použít, když je obsah souboru krátký.

Příklad: Ukazuje použití writeString() metoda, která je ve třídě Files pro zápis dat do souboru. Další třída, Path, se používá k přiřazení názvu souboru s cestou, kam bude obsah zapsán. Třída Files má jinou pojmenovanou metodu readString() ke čtení obsahu jakéhokoli existujícího souboru, který se používá v kódu ke kontrole, zda je obsah v souboru správně zapsán.

Jáva




otevřete soubor pomocí 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);> >}> }>

>

>

Výstup

Welcome to geekforgeeks Happy Learning!>

Metoda 2: Použití třídy FileWriter

Pokud je obsah souboru krátký, je další lepší možností použití třídy FileWriter k zápisu do souboru. Zapisuje také proud znaků jako obsah souboru jako metoda writeString(). Konstruktor této třídy definuje výchozí kódování znaků a výchozí velikost vyrovnávací paměti v bajtech.

Následující příklad níže ilustruje použití třídy FileWriter k zápisu obsahu do souboru. Vyžaduje vytvoření objektu třídy FileWriter s názvem souboru pro zápis do souboru. Dále se k zápisu hodnoty textové proměnné do souboru použije metoda write(). Pokud v době zápisu souboru dojde k nějaké chybě, bude vyvolána výjimka IOException a chybová zpráva bude vytištěna z bloku catch.

Příklad:

Jáva

css podtržený text




// 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());> >}> >}> }>

>

>

Výstup

File is created successfully with the content.>

Metoda 3: Použití třídy BufferedWriter

Používá se k zápisu textu do proudu znakového výstupu. Má výchozí velikost vyrovnávací paměti, ale lze přiřadit velkou velikost vyrovnávací paměti. Je užitečný pro psaní znaků, řetězců a polí. Je lepší zabalit tuto třídu do jakékoli třídy zapisovače pro zápis dat do souboru, pokud není vyžadován žádný promptní výstup.

délka řetězce java

Příklad:

Jáva




// 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());> >}> >}> }>

>

>

Výstup

rozdíl mezi dvěma řetězci python
File is created successfully with the content.>

Následující příklad ukazuje použití třídy BufferedWriter pro zápis do souboru. Vyžaduje také vytvoření objektu třídy BufferedWriter jako FileWriter pro zápis obsahu do souboru. Tato třída však podporuje velký obsah pro zápis do souboru pomocí velké velikosti vyrovnávací paměti.

Metoda 4: Použití třídy FileOutputStream

Používá se k zápisu nezpracovaných datových proudů do souboru. Třídy FileWriter a BufferedWriter se používají k zápisu pouze textu do souboru, ale binární data lze zapsat pomocí třídy FileOutputStream.

Zápis dat do souboru pomocí třídy FileOutputStream je znázorněn v následujícím příkladu. Vyžaduje také vytvoření objektu třídy s názvem souboru pro zápis dat do souboru. Zde je obsah řetězce převeden na bajtové pole, které je zapsáno do souboru pomocí napsat() metoda.

Příklad:

převést znak na řetězec

Jáva




// 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());> >}> >}> >}> >}> }>

>

>

Výstup

File is created successfully with the content.>