Java schrijven naar bestand

Java Write File



Om gegevens tijdelijk of permanent op te slaan voor programmeerdoeleinden, moeten we gegevens naar een bestand schrijven. Er zijn veel klassen en methoden in Java om gegevens in een bestand te schrijven. Hoe verschillende klassen en methoden in Java kunnen worden gebruikt om gegevens in een bestand te schrijven, wordt in deze zelfstudie getoond.

Enkele noodzakelijke klassen en methode voor het schrijven van bestanden:

writeString() methode:

Deze methode wordt ondersteund door Java versie 11. Er kunnen vier parameters voor nodig zijn. Dit zijn bestandspad, tekenreeks, tekenset en opties. De eerste twee parameters zijn verplicht om deze methode in een bestand te laten schrijven. Het schrijft de tekens als de inhoud van het bestand. Het retourneert het bestandspad en kan vier soorten uitzonderingen genereren. Het is beter om te gebruiken wanneer de inhoud van het bestand kort is.







FileWriter-klasse:

Als de inhoud van het bestand kort is, gebruik dan de FileWriter class om in het bestand te schrijven is een andere betere optie. Het schrijft ook de stroom van tekens als de inhoud van het bestand zoals schrijfString() methode. De constructor van deze klasse definieert de standaardtekencodering en de standaardbuffergrootte in bytes.



BufferedWriter-klasse:

Het wordt gebruikt om tekst naar een tekenuitvoerstroom te schrijven. Het heeft een standaard buffergrootte, maar de grote buffergrootte kan worden toegewezen. Het is handig voor het schrijven van karakters, strings en arrays. Het is beter om deze klasse in te pakken met een willekeurige schrijverklasse voor het schrijven van gegevens naar een bestand als er geen prompte uitvoer vereist is.



FileOutputStream-klasse:

Het wordt gebruikt om onbewerkte streamgegevens naar een bestand te schrijven. De klassen FileWriter en BufferedWriter worden gebruikt om alleen de tekst naar een bestand te schrijven, maar de binaire gegevens kunnen worden geschreven met behulp van de klasse FileOutputStream.





De volgende voorbeelden tonen het gebruik van de genoemde methode en klassen.

Voorbeeld-1: Schrijf naar een bestand met de methode writeString()

Het volgende voorbeeld toont het gebruik van de schrijfString() methode die onder is Bestanden class om gegevens in een bestand te schrijven. een andere klas, Pad, wordt gebruikt om de bestandsnaam toe te wijzen aan een pad waar de inhoud zal worden geschreven. Bestanden klasse heeft een andere methode genaamd leesString () om de inhoud van een bestaand bestand dat in de code wordt gebruikt te lezen om te controleren of de inhoud correct in het bestand is geschreven.



importeren java.nio.file.Files;
importeren java.nio.file.Path;
importeren java.io.IOException;

openbaar klasfwrite1{

openbaar statisch leegtehoofd( Snaar []argumenten) worpen IOUitzondering
{
//Wijs de inhoud van het bestand toe
Snaar tekst= 'Welkom bij Linuxhint'NJava leren vanaf de basis';

//Definieer de bestandsnaam van het bestand
Pad bestandsnaam=Pad.van('bestand1.txt');

//Schrijf in het bestand
Bestanden.schrijfString(bestandsnaam, tekst);

//Lees de inhoud van het bestand
Snaar file_content=Bestanden.leesString(bestandsnaam);

//Druk de inhoud van het bestand af
Systeem .uit.println(file_content);
}
}

Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van de code. Hier worden twee regels geschreven in het bestand dat wordt weergegeven in de uitvoer.

Voorbeeld-2: naar een bestand schrijven met de FileWriter-klasse

Het volgende voorbeeld toont het gebruik van de FileWriter-klasse om inhoud naar een bestand te schrijven. Het vereist het maken van het object van de FileWriter-klasse met de bestandsnaam om in een bestand te schrijven. Volgende, Het schrijven() methode wordt gebruikt om de waarde van de . te schrijven tekst variabele in het bestand. Als er een fout optreedt op het moment dat het bestand wordt geschreven, wordt een IO-uitzondering gegenereerd en wordt het foutbericht afgedrukt vanuit het catch-blok.

//Benodigde pakketten importeren
importeren java.io.FileWriter;
importeren java.io.IOException;

openbaar klasfwrite2{

openbaar statisch leegtehoofd( Snaar []argumenten) {

//Wijs de bestandsinhoud toe
Snaar tekst= 'De nieuwste Java-versie bevat belangrijke verbeteringen'
prestaties te verbeteren'
+ 'stabiliteit en veiligheid van de Java'
toepassingen die op uw computer worden uitgevoerd. '
;
proberen
{
//Maak een FileWriter-object om in het bestand te schrijven
FileWriter fSchrijver= nieuwe FileWriter ('bestand2.txt');

//Schrijf in het bestand
fSchrijver.schrijven(tekst);

// Druk het succesbericht af
Systeem .uit.afdrukken('Bestand is succesvol aangemaakt met de inhoud.');

//Sluit het bestand schrijver-object
fSchrijver.dichtbij();
}
vangst ( IOUitzondering En)
{
// Druk de foutmelding af
Systeem .uit.afdrukken(En.getMessage());
}
}
}

Uitgang:

Als de bestandsinhoud met succes in het bestand is geschreven, verschijnt de volgende uitvoer. U kunt de projectmap controleren om te bevestigen dat het bestand correct is gemaakt of niet.

Voorbeeld-3: naar een bestand schrijven met de klasse BufferedWriter

Het volgende voorbeeld toont het gebruik van de klasse BufferedWriter om naar een bestand te schrijven. Het vereist ook het maken van het object van de BufferedWriter-klasse zoals FileWriter om inhoud in het bestand te schrijven. Maar deze klasse ondersteunt grote inhoud om in het bestand te schrijven door een grote buffergrootte te gebruiken.

importeren java.io.BufferedWriter;
importeren java.io.FileWriter;
importeren java.io.IOException;
openbaar klasfwrite3{

openbaar statisch leegtehoofd( Snaar []argumenten) {

//Wijs de bestandsinhoud toe
Snaar tekst= 'Leer Java gemakkelijk van LinuxHint';

proberen {

//Maak een object van BufferedWriter
Gebufferde Schrijver f_schrijver= nieuwe Gebufferde Schrijver (nieuwe FileWriter ('bestand3.txt'));
f_schrijver.schrijven(tekst);

// Druk het succesbericht af
Systeem .uit.afdrukken('Bestand is succesvol aangemaakt met de inhoud.');

//Sluit het BufferedWriter-object
f_schrijver.dichtbij();
}
vangst ( IOUitzondering En)
{
// Druk de foutmelding af
Systeem .uit.afdrukken(En.getMessage());
}
}
}

Uitgang:

Als de bestandsinhoud met succes in het bestand is geschreven, verschijnt de volgende uitvoer. U kunt de projectmap controleren om te bevestigen dat het bestand correct is gemaakt of niet.

Voorbeeld-4: naar een bestand schrijven met de klasse FileOutputStream

Het schrijven van gegevens naar een bestand met behulp van de FileOutputStream-klasse wordt in het volgende voorbeeld getoond. Het vereist ook het maken van het object van de klasse met de bestandsnaam om gegevens in een bestand te schrijven. Hier wordt de tekenreeksinhoud geconverteerd naar de bytearray die in het bestand wordt geschreven met behulp van de schrijven() methode.

importeren java.io.FileOutputStream;
importeren java.io.IOException;

openbaar klasfwrite4{

openbaar statisch leegtehoofd( Snaar []argumenten) {

//Wijs de bestandsinhoud toe
Snaar bestandsinhoud= 'Welkom bij LinuxHint';

proberen {
//Maak een object van FileOutputStream
BestandsuitvoerStream outputStream= nieuwe BestandsuitvoerStream ('file4.txt');

// bewaar byte-inhoud van string
byte[]strToBytes=bestandInhoud.getBytes();

//Schrijf in het bestand
outputStream.schrijven(strToBytes);

// Druk het succesbericht af
Systeem .uit.afdrukken('Bestand is succesvol aangemaakt met de inhoud.');

//Sluit het object
outputStream.dichtbij();
}
vangst ( IOUitzondering En)
{
// Druk de foutmelding af
Systeem .uit.afdrukken(En.getMessage());
}
}
}

Uitgang:

Als de bestandsinhoud met succes in het bestand is geschreven, verschijnt de volgende uitvoer. U kunt de projectmap controleren om te bevestigen dat het bestand correct is gemaakt of niet.

Conclusie:

In deze zelfstudie worden meerdere manieren getoond om in een bestand te schrijven door verschillende Java-klassen te gebruiken. De gebruiker kan elk van de hier genoemde klassen selecteren om in een bestand te schrijven op basis van de inhoud van het bestand.