Java-program til at skrive ind i en fil

Java-program til at skrive ind i en fil

I denne artikel vil vi se forskellige måder at skrive ind i en fil ved hjælp af Java-programmeringssprog. Java FileWriter-klassen i java bruges til at skrive tegn-orienterede data til en fil, da denne klasse er tegn-orienteret klasse på grund af, hvad den bruges i filhåndtering i java.

Der er mange måder at skrive ind i en fil i Java da der er mange klasser og metoder, der kan opfylde målet som følger:

  1. Ved brug af writeString() metode
  2. Brug af FileWriter Class
  3. Brug af BufferedWriter Class
  4. Brug af FileOutputStream Class

Metode 1: Bruger metoden writeString().

Denne metode understøttes af Java version 11. Denne metode kan tage fire parametre. Disse er filsti, tegnsekvens, tegnsæt og muligheder. De første to parametre er obligatoriske for at denne metode kan skrive ind i en fil. Den skriver tegnene som indholdet af filen. Det returnerer filstien og kan kaste fire typer undtagelser. Det er bedre at bruge, når indholdet af filen er kort.

Eksempel: Det viser brugen af writeString() metode, der er under klassen Filer til at skrive data ind i en fil. En anden klasse, Path, bruges til at tildele filnavnet en sti, hvor indholdet vil blive skrevet. Files-klassen har en anden metode navngivet readString() at læse indholdet af enhver eksisterende fil, der bruges i koden for at kontrollere, at indholdet er korrekt skrevet i filen.

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

Produktion

Welcome to geekforgeeks Happy Learning! 

Metode 2: Brug af FileWriter Class

Hvis indholdet af filen er kort, så er det en anden bedre mulighed at bruge FileWriter-klassen til at skrive i filen. Den skriver også strømmen af ​​tegn som indholdet af filen som writeString()-metoden. Konstruktøren af ​​denne klasse definerer standardtegnkodningen og standardbufferstørrelsen i bytes.

Følgende eksempel nedenfor illustrerer brugen af ​​klassen FileWriter til at skrive indhold ind i en fil. Det kræver oprettelse af objektet i FileWriter-klassen med filnavnet for at skrive ind i en fil. Dernæst bruges write() metoden til at skrive værdien af ​​tekstvariablen i filen. Hvis der opstår en fejl på tidspunktet for skrivning af filen, vil en IOException blive kastet, og fejlmeddelelsen vil blive udskrevet fra catch-blokken.

Eksempel:

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

Produktion

File is created successfully with the content. 

Metode 3: Brug af BufferedWriter Class

Det bruges til at skrive tekst til en karakteroutputstrøm. Den har en standard bufferstørrelse, men en stor bufferstørrelse kan tildeles. Det er nyttigt til at skrive tegn, strenge og arrays. Det er bedre at ombryde denne klasse med en hvilken som helst forfatterklasse for at skrive data til en fil, hvis der ikke kræves promptoutput.

Eksempel:

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

Produktion

File is created successfully with the content. 

Følgende eksempel viser brugen af ​​BufferedWriter-klassen til at skrive ind i en fil. Det kræver også at oprette objektet i BufferedWriter-klassen som FileWriter for at skrive indhold ind i filen. Men denne klasse understøtter stort indhold til at skrive ind i filen ved at bruge en stor bufferstørrelse.

Metode 4: Brug af FileOutputStream Class

Det bruges til at skrive råstrømdata til en fil. FileWriter- og BufferedWriter-klasserne bruges til kun at skrive teksten til en fil, men de binære data kan skrives ved at bruge FileOutputStream-klassen.

At skrive data ind i en fil ved hjælp af FileOutputStream-klassen er vist i følgende eksempel. Det kræver også oprettelse af klassens objekt med filnavnet for at skrive data ind i en fil. Her konverteres strengindholdet til byte-arrayet, der skrives ind i filen ved at bruge skrive() metode.

Eksempel:

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

Produktion

File is created successfully with the content.