logo

Program Java pentru a scrie într-un fișier

În acest articol, vom vedea diferite moduri de a scrie într-un fișier folosind limbajul de programare Java. Clasa Java FileWriter în java este folosită pentru a scrie date orientate pe caractere într-un fișier, deoarece această clasă este o clasă orientată pe caractere din cauza a ceea ce este folosită în manipularea fișierelor în java.

Există multe modalități de a scrie într-un fișier în Java deoarece există multe clase și metode care pot îndeplini scopul după cum urmează:



  1. Folosind writeString() metodă
  2. Utilizarea clasei FileWriter
  3. Utilizarea clasei BufferedWriter
  4. Utilizarea clasei FileOutputStream

Metoda 1: Folosind metoda writeString().

Această metodă este acceptată de Java versiunea 11. Această metodă poate lua patru parametri. Acestea sunt calea fișierului, secvența de caractere, setul de caractere și opțiunile. Primii doi parametri sunt obligatorii pentru ca această metodă să scrie într-un fișier. Acesta scrie caracterele ca conținut al fișierului. Returnează calea fișierului și poate arunca patru tipuri de excepții. Este mai bine să utilizați atunci când conținutul fișierului este scurt.

Exemplu: Acesta arată utilizarea writeString() metoda care se află în clasa Fișiere pentru a scrie date într-un fișier. O altă clasă, Path, este folosită pentru a atribui numelui fișierului o cale în care va fi scris conținutul. Clasa Files are o altă metodă numită readString() pentru a citi conținutul oricărui fișier existent care este utilizat în cod pentru a verifica dacă conținutul este scris corect în fișier.

Java




diagrama de clasă 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);> >}> }>

>

an în trimestre

>

Ieșire

Welcome to geekforgeeks Happy Learning!>

Metoda 2: Utilizarea clasei FileWriter

Dacă conținutul fișierului este scurt, atunci folosirea clasei FileWriter pentru a scrie în fișier este o altă opțiune mai bună. De asemenea, scrie fluxul de caractere ca conținut al fișierului, cum ar fi metoda writeString(). Constructorul acestei clase definește codarea implicită a caracterelor și dimensiunea implicită a tamponului în octeți.

Următorul exemplu de mai jos ilustrează utilizarea clasei FileWriter pentru a scrie conținut într-un fișier. Necesită crearea obiectului clasei FileWriter cu numele fișierului pentru a scrie într-un fișier. Apoi, metoda write() este folosită pentru a scrie valoarea variabilei text în fișier. Dacă apare vreo eroare în momentul scrierii fișierului, atunci o IOException va fi aruncată și mesajul de eroare va fi tipărit din blocul catch.

Exemplu:

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

>

nfa la dfa
>

Ieșire

File is created successfully with the content.>

Metoda 3: Utilizarea clasei BufferedWriter

Este folosit pentru a scrie text într-un flux de ieșire de caractere. Are o dimensiune implicită a tamponului, dar poate fi atribuită o dimensiune mare a tamponului. Este util pentru scrierea de caractere, șiruri și matrice. Este mai bine să includeți această clasă cu orice clasă writer pentru scrierea datelor într-un fișier dacă nu este necesară o ieșire promptă.

Exemplu:

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

>

>

Ieșire

intrare java
File is created successfully with the content.>

Următorul exemplu arată utilizarea clasei BufferedWriter pentru a scrie într-un fișier. De asemenea, necesită crearea obiectului clasei BufferedWriter, cum ar fi FileWriter, pentru a scrie conținut în fișier. Dar această clasă acceptă conținut mare pentru a scrie în fișier folosind o dimensiune mare a bufferului.

Metoda 4: Utilizarea clasei FileOutputStream

Este folosit pentru a scrie date brute de flux într-un fișier. Clasele FileWriter și BufferedWriter sunt folosite pentru a scrie doar textul într-un fișier, dar datele binare pot fi scrise folosind clasa FileOutputStream.

Pentru a scrie date într-un fișier folosind clasa FileOutputStream este prezentat în exemplul următor. De asemenea, necesită crearea obiectului clasei cu numele fișierului pentru a scrie date într-un fișier. Aici, conținutul șirului este convertit în matricea de octeți care este scrisă în fișier folosind scrie() metodă.

Exemplu:

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

număr în șir java
>

>

Ieșire

File is created successfully with the content.>