Java PrintWriter (met voorbeelden)

In deze tutorial zullen we met behulp van voorbeelden leren over Java PrintWriter en zijn print () en printf () methoden.

De PrintWriterklasse van het java.iopakket kan worden gebruikt om uitvoergegevens in een algemeen leesbare vorm (tekst) te schrijven.

Het breidt de abstracte klasse uit Writer.

Werking van PrintWriter

In tegenstelling tot andere schrijvers, PrintWriter(zet de onbewerkte data int, float, char, enz.) In de tekst formaat. Vervolgens schrijft het die opgemaakte gegevens naar de schrijver.

Ook genereert de PrintWriterklasse geen invoer / uitvoer-uitzondering. In plaats daarvan moeten we de checkError()methode gebruiken om eventuele fouten erin te vinden.

Opmerking : de PrintWriterklas heeft ook een functie voor automatisch doorspoelen. Dit betekent dat het de schrijver dwingt alle gegevens naar de bestemming te schrijven als een van de methoden println()of printf()wordt aangeroepen.

Maak een PrintWriter

Om een ​​printwriter te maken, moeten we eerst het java.io.PrintWriterpakket importeren . Zodra we het pakket hebben geïmporteerd, is hier hoe we de afdrukschrijver kunnen maken.

1. Met behulp van andere schrijvers

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Hier,

  • we hebben een afdrukschrijver gemaakt die gegevens naar het bestand schrijft dat wordt vertegenwoordigd door de FileWriter
  • autoFlush is een optionele parameter die specificeert of automatisch doorspoelen moet worden uitgevoerd of niet

2. Andere outputstromen gebruiken

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Hier,

  • we hebben een afdrukschrijver gemaakt die gegevens naar het bestand schrijft dat wordt vertegenwoordigd door de FileOutputStream
  • de autoFlush is een optionele parameter die specificeert of automatisch doorspoelen moet worden uitgevoerd of niet

3. Met behulp van bestandsnaam

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Hier,

  • we hebben een afdrukschrijver gemaakt die gegevens naar het opgegeven bestand zal schrijven
  • de autoFlush is een optionele booleaanse parameter die specificeert of automatisch doorspoelen moet worden uitgevoerd of niet

Opmerking : in alle bovenstaande gevallen worden PrintWritergegevens naar het bestand geschreven met behulp van een standaard tekencodering. We kunnen echter ook de tekencodering ( UTF8 of UTF16 ) specificeren .

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Hier hebben we de klasse Charset gebruikt om de tekencodering op te geven. Voor meer informatie, bezoek Java Charset (officiële Java-documentatie).

Methoden van PrintWriter

De PrintWriterklasse biedt verschillende methoden waarmee we gegevens naar de uitvoer kunnen afdrukken.

print () methode

  • print() - drukt de gespecificeerde gegevens af naar de schrijver
  • println() - drukt de gegevens af naar de schrijver samen met een nieuw lijnteken aan het einde

Bijvoorbeeld,

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

In het bovenstaande voorbeeld hebben we een printwriter gemaakt met de naam output. Deze printwriter is gekoppeld aan het bestand output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Om gegevens naar het bestand af te drukken, hebben we de print()methode gebruikt.

Hier wanneer we het programma uitvoeren, wordt het bestand output.txt gevuld met de volgende inhoud.

 This is a text inside the file. 

printf () methode

De printf()methode kan worden gebruikt om de opgemaakte string af te drukken. Het bevat 2 parameters: opgemaakte tekenreeks en argumenten. Bijvoorbeeld,

 printf("I am %d years old", 25); 

Hier,

  • Ik ben %djaren oud is een opgemaakte tekenreeks
  • %d zijn integer-gegevens in de opgemaakte tekenreeks
  • 25 is een argument

De opgemaakte tekenreeks bevat zowel tekst als gegevens. En de argumenten vervangen de gegevens in de opgemaakte tekenreeks.

Daarom wordt de % d vervangen door 25 .

Voorbeeld: printf () methode met PrintWriter

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

In het bovenstaande voorbeeld hebben we een printwriter gemaakt met de naam output. De printwriter is gekoppeld aan het bestand output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Om de opgemaakte tekst naar het bestand af te drukken, hebben we de printf()methode gebruikt.

Hier wanneer we het programma uitvoeren, wordt het bestand output.txt gevuld met de volgende inhoud.

 I am 25 years old. 

Andere methoden van PrintWriter

Methode Omschrijving
close() sluit de printschrijver
checkError() controleert of er een fout in de schrijver zit en retourneert een booleaans resultaat
append() voegt de gespecificeerde gegevens toe aan de schrijver

Bezoek voor meer informatie Java PrintWriter (officiële Java-documentatie).

Interessante artikelen...