Java PrintWriter-klasse
Java PrintWriter-klasse
In deze tutorial leren we over Java PrintWriter en zijn print() en printf() methoden met behulp van voorbeelden.
De PrintWriter
klasse van de java.io
pakket kan worden gebruikt om uitvoergegevens in een algemeen leesbare vorm (tekst) te schrijven.
Het breidt de abstracte klasse Writer
uit .
Werking van PrintWriter
In tegenstelling tot andere schrijvers, PrintWriter
converteert de primitieve gegevens (int
, float
, char
, enz.) in het tekstformaat. Vervolgens schrijft het die geformatteerde gegevens naar de schrijver.
Ook de PrintWriter
class genereert geen input/output-uitzondering. In plaats daarvan moeten we de checkError()
. gebruiken methode om een fout erin te vinden.
Opmerking :De PrintWriter
klasse heeft ook een functie van automatisch spoelen. Dit betekent dat het de schrijver dwingt om alle gegevens naar de bestemming te schrijven als een van de println()
of printf()
methoden wordt aangeroepen.
Maak een PrintWriter
Om een drukschrijver te maken, moeten we de java.io.PrintWriter
. importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we hier de printschrijver maken.
// 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 zal schrijven naar het bestand dat wordt vertegenwoordigd door de
FileWriter
- autoFlush is een optionele parameter die aangeeft of automatisch spoelen moet worden uitgevoerd of niet
// 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 zal schrijven naar het bestand dat wordt vertegenwoordigd door de
FileOutputStream
- de autoFlush is een optionele parameter die aangeeft of automatisch spoelen moet worden uitgevoerd of niet
// 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 aangeeft of automatisch spoelen moet worden uitgevoerd of niet
Opmerking :In alle bovenstaande gevallen is de PrintWriter
schrijft gegevens naar het bestand met behulp van een standaardtekencodering. We kunnen echter wel de tekencodering specificeren (UTF8 of UTF16 ) ook.
// Creates a PrintWriter using some character encoding
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Hier hebben we de Tekenset . gebruikt class om de tekencodering op te geven. Ga voor meer informatie naar Java Charset (officiële Java-documentatie).
Methoden van PrintWriter
De PrintWriter
class biedt verschillende methoden waarmee we gegevens naar de uitvoer kunnen afdrukken.
print()-methode
print()
- drukt de opgegeven gegevens af naar de schrijverprintln()
- drukt de gegevens af naar de schrijver samen met een nieuw regelteken 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 afdrukschrijver 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()
. gebruikt methode.
Hier wanneer we het programma uitvoeren, de output.txt bestand is gevuld met de volgende inhoud.
This is a text inside the file.
printf()-methode
De printf()
methode kan worden gebruikt om de opgemaakte tekenreeks af te drukken. Het bevat 2 parameters:opgemaakte tekenreeks en argumenten. Bijvoorbeeld,
printf("I am %d years old", 25);
Hier,
- Ik ben
%d
jaar oud is een opgemaakte tekenreeks %d
is integer data in de opgemaakte string- 25 is een argument
De opgemaakte tekenreeks bevat zowel tekst als gegevens. En de argumenten vervangen de gegevens in de opgemaakte string.
Vandaar de %d wordt 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 afdrukschrijver 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()
. gebruikt methode.
Hier wanneer we het programma uitvoeren, de output.txt bestand is gevuld met de volgende inhoud.
I am 25 years old.
Andere methoden van PrintWriter
Methode | Beschrijving |
---|---|
close() | sluit de printschrijver |
checkError() | controleert of er een fout in de schrijver zit en geeft een booleaans resultaat |
append() | voegt de gespecificeerde gegevens toe aan de schrijver |
Ga voor meer informatie naar Java PrintWriter (officiële Java-documentatie).
Java