Java PrintStream-klasse: print, println en printf uitgelegd
Java PrintStream-klasse onder de knie
Deze tutorial duikt in Java's PrintStream-klasse, met creatie, kernmethoden en praktische voorbeelden.
De PrintStream-klasse, onderdeel van het java.io-pakket, breidt OutputStream uit en is ontworpen om menselijk leesbare tekst uit te voeren in plaats van rauwe bytes.
Hoe PrintStream werkt
In tegenstelling tot andere streams, converteert PrintStream primitieve waarden (int, char, etc.) naar geformatteerde tekst voordat ze naar de bestemming geschreven worden. Het gooit ook nooit IOException; fouten worden gerapporteerd via checkError().
Auto-flush is een sleutelfeature: de stream flusht automatisch wanneer:
- een newline-karakter (
\n) wordt geprint, - de
println()-methode wordt aangeroepen, of - een byte-array wordt geschreven.
Een PrintStream aanmaken
Eerst de klasse importeren:
import java.io.PrintStream;
1. Vanaf een bestaande OutputStream
// Voorbeeld: wrap een FileOutputStream
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // true = autoFlush
Dit schrijft geformatteerde tekst naar log.txt met optionele auto-flushing.
2. Direct vanuit een bestandsnaam
PrintStream ps = new PrintStream("log.txt", true);
De constructor accepteert een boolean voor auto-flush. Standaard gebruikt de stream het platformkarakterencoding.
3. Een charset specificeren
PrintStream ps = new PrintStream("log.txt", true, StandardCharsets.UTF_8);
Met Charset kun je UTF-8, UTF-16 of elke ondersteunde encoding kiezen.
Let op: Voor meer details over character sets, zie de Java Charset API.
Kernmethoden van PrintStream
print() en println()
print(Object obj)– geeft de string-representatie van het object uitprintln(Object obj)– voegt een platform-specifieke regel-einde toe
Voorbeeld: System.out gebruiken
public class Main {
public static void main(String[] args) {
System.out.print("Hello World.");
}
}
Hier is System.out een pre-geconfigureerde PrintStream, dus de print()-methode is direct beschikbaar.
Voorbeeld: Naar een bestand schrijven
import java.io.PrintStream;
public class Main {
public static void main(String[] args) {
try {
PrintStream ps = new PrintStream("output.txt");
ps.print("Dit is een tekst in het bestand.");
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Het resulterende output.txt bevat:
Dit is een tekst in het bestand.
printf()
Print geformatteerde tekst met format-specifiers:
System.out.printf("Ik ben %d jaar oud", 25);
Hier wordt %d vervangen door de integer-waarde 25.
Voorbeeld: printf() met een bestand
import java.io.PrintStream;
public class Main {
public static void main(String[] args) {
try {
PrintStream ps = new PrintStream("output.txt");
int leeftijd = 25;
ps.printf("Ik ben %d jaar oud.", leeftijd);
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Na uitvoering bevat output.txt:
Ik ben 25 jaar oud.
Extra PrintStream-methoden
| Methode | Beschrijving |
|---|---|
close() | Sluit de stream en geeft systeembronnen vrij |
checkError() | Retourneert true als de stream een fout heeft tegengekomen |
append() | Voegt de gespecifieerde karakterreeks toe aan de stream |
Voor uitgebreide details, raadpleeg de officiële Java PrintStream-documentatie.
Java
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java-erfenis meesteren: concepten, typen en praktische voorbeelden
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java ArrayList meesteren: operaties, methoden en best practices
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java Generics: Herbruikbare, type-veilige code bouwen
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen