logo

Program Java za pisanje v datoteko

V tem članku bomo videli različne načine pisanja v datoteko z uporabo programskega jezika Java. Razred Java FileWriter v Javi se uporablja za pisanje znakovno usmerjenih podatkov v datoteko, saj je ta razred znakovno usmerjen razred zaradi tega, kar se uporablja pri obdelavi datotek v Javi.

Veliko jih je načine pisanja v datoteko v Javi saj obstaja veliko razredov in metod, ki lahko izpolnijo cilj, kot sledi:



  1. Uporaba writeString() metoda
  2. Uporaba razreda FileWriter
  3. Uporaba razreda BufferedWriter
  4. Uporaba razreda FileOutputStream

1. način: Uporaba metode writeString().

To metodo podpira Java različica 11. Ta metoda lahko sprejme štiri parametre. To so pot do datoteke, zaporedje znakov, nabor znakov in možnosti. Prva dva parametra sta obvezna, da ta metoda zapiše v datoteko. Znake zapiše kot vsebino datoteke. Vrne pot datoteke in lahko vrže štiri vrste izjem. Bolje je uporabiti, če je vsebina datoteke kratka.

primer: Prikazuje uporabo writeString() metoda, ki je pod razredom Files za zapisovanje podatkov v datoteko. Drug razred, Path, se uporablja za dodelitev imena datoteke s potjo, kamor bo zapisana vsebina. Razred Files ima imenovano drugo metodo readString() za branje vsebine katere koli obstoječe datoteke, ki je uporabljena v kodi, za preverjanje, ali je vsebina pravilno zapisana v datoteki.

Java




šakal proti volku





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

>

>

Izhod

Welcome to geekforgeeks Happy Learning!>

2. način: Uporaba razreda FileWriter

Če je vsebina datoteke kratka, je uporaba razreda FileWriter za pisanje v datoteko druga boljša možnost. Prav tako zapiše tok znakov kot vsebino datoteke, kot je metoda writeString(). Konstruktor tega razreda definira privzeto kodiranje znakov in privzeto velikost medpomnilnika v bajtih.

Naslednji spodnji primer ponazarja uporabo razreda FileWriter za zapisovanje vsebine v datoteko. Zahteva ustvarjanje predmeta razreda FileWriter z imenom datoteke za pisanje v datoteko. Nato se metoda write() uporabi za zapis vrednosti besedilne spremenljivke v datoteko. Če se med pisanjem datoteke pojavi kakršna koli napaka, bo vržena IOException in sporočilo o napaki bo natisnjeno iz bloka catch.

primer:

java arhitektura

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

>

>

Izhod

seznam razvrsti po javi
File is created successfully with the content.>

3. način: Uporaba razreda BufferedWriter

Uporablja se za pisanje besedila v izhodni tok znakov. Ima privzeto velikost medpomnilnika, vendar je mogoče dodeliti veliko velikost medpomnilnika. Uporaben je za pisanje znakov, nizov in nizov. Bolje je, da ta razred ovijete s katerim koli razredom zapisovalca za zapisovanje podatkov v datoteko, če ni potreben takojšnji izpis.

primer:

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

>

>

Izhod

nizi bash
File is created successfully with the content.>

Naslednji primer prikazuje uporabo razreda BufferedWriter za pisanje v datoteko. Prav tako zahteva ustvarjanje predmeta razreda BufferedWriter, kot je FileWriter, za pisanje vsebine v datoteko. Toda ta razred podpira veliko vsebino za pisanje v datoteko z uporabo velike velikosti medpomnilnika.

4. način: Uporaba razreda FileOutputStream

Uporablja se za pisanje neobdelanih podatkov toka v datoteko. Razreda FileWriter in BufferedWriter se uporabljata samo za pisanje besedila v datoteko, binarne podatke pa je mogoče zapisati z uporabo razreda FileOutputStream.

abeceda v številkah

Zapisovanje podatkov v datoteko z uporabo razreda FileOutputStream je prikazano v naslednjem primeru. Prav tako zahteva ustvarjanje predmeta razreda z imenom datoteke za zapisovanje podatkov v datoteko. Tu se vsebina niza pretvori v niz bajtov, ki je zapisan v datoteko z uporabo pisati() metoda.

primer:

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

>

>

Izhod

File is created successfully with the content.>