Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java PrintWriter: Functionaliteiten, methoden en praktische voorbeelden

Java PrintWriter onder de knie

In deze tutorial verkennen we de Java PrintWriter-klasse, de print-methoden en praktische codevoorbeelden.

Inleiding

De PrintWriter-klasse, onderdeel van java.io, is ontworpen voor het schrijven van karaktermdata naar tekstbestanden of andere output-streams. Het breidt Writer uit en biedt handige formatteermethoden.

In tegenstelling tot andere writers, converteert PrintWriter primitieve typen (int, float, char, etc.) automatisch naar tekst voordat ze geschreven worden. Het gooit ook nooit een IOException; fouten detecteer je met checkError().

Auto-flush is een sleutelfeature: als ingeschakeld, dwingt elke aanroep naar println() of printf() de buffer om te flushten naar de onderliggende stream.

Hoe PrintWriter werkt

PrintWriter schrijft geformatteerde tekst naar een onderliggende Writer of OutputStream. De constructor accepteert een autoFlush-vlag en optioneel een Charset voor encoding.

Een PrintWriter aanmaken

Eerst de klasse importeren:

import java.io.PrintWriter;

1. Vanaf een bestaande Writer

FileWriter bestand = new FileWriter("output.txt");
PrintWriter out = new PrintWriter(bestand, true); // autoFlush = true

2. Vanaf een OutputStream

FileOutputStream fos = new FileOutputStream("output.txt");
PrintWriter out = new PrintWriter(fos, true);

3. Direct vanuit een bestandsnaam

PrintWriter out = new PrintWriter("output.txt", true);

4. Karakterencoding specificeren

import java.nio.charset.Charset;
PrintWriter out = new PrintWriter("output.txt", true, Charset.forName("UTF-8"));

Een Charset gebruiken zorgt ervoor dat je tekst met de gewenste encoding geschreven wordt.

Kernmethoden

print() en println()

Deze methoden schrijven ruwe of regel-getermineerde tekst:

  • print(obj) – schrijft de string-representatie van obj zonder newline
  • println(obj) – schrijft de string en voegt de systeem-regelscheider toe

printf()

De printf-familie ondersteunt Java's Formatter-syntax. Voorbeeld:

out.printf("Ik ben %d jaar oud.", 25);

Overige nuttige methoden

MethodeBeschrijving
close()Sluit de stream en geeft bronnen vrij
checkError()Retourneert true als een schrijffout is opgetreden
append(CharSequence)Voegt de gegeven reeks toe aan de writer

Praktisch voorbeeld

Hieronder een compleet, draaibaar programma dat geformatteerde tekst naar output.txt schrijft met printf():

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class PrintWriterDemo {
    public static void main(String[] args) {
        try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"), true)) {
            int leeftijd = 25;
            out.printf("Ik ben %d jaar oud.\n", leeftijd);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Dit programma creëert output.txt met de regel:

Ik ben 25 jaar oud.

Lees verder

Voor de officiële specificatie, zie de Java PrintWriter API en de Charset-documentatie.

Java

  1. Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
  2. Java instanceof operator: een uitgebreide gids
  3. Java-erfenis meesteren: concepten, typen en praktische voorbeelden
  4. Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
  5. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  6. Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
  7. Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
  8. Java ArrayList meesteren: operaties, methoden en best practices
  9. Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
  10. Java Generics: Herbruikbare, type-veilige code bouwen
  11. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen