Java StringWriter: Gebruik, methoden en praktische voorbeelden
Java StringWriter-klasse
Ontdek hoe Java's StringWriter karaktermdata naar een in-memory buffer schrijft, met kernmethoden en real-world voorbeelden.
De StringWriter-klasse, gelegen in het java.io-pakket, breidt de abstracte Writer-klasse uit en stelt ontwikkelaars in staat om karaktermdata in een veranderlijke string-buffer te schrijven. Deze buffer kan uitgebreid worden zoals nodig en later geconverteerd worden naar een standaard String via toString().
Let op: In Java gedraagt een string-buffer zich als een veranderlijke string, wat betekent dat de inhoud gewijzigd kan worden. De toString()-methode haalt de huidige waarde op als een onveranderlijke String.
Een StringWriter aanmaken
Om een StringWriter te instantiëren, importeer de klasse eerst:
import java.io.StringWriter;
Maak dan het object aan:
// Creëert een StringWriter met standaard buffercapaciteit
StringWriter output = new StringWriter();
Je kunt ook een initiële buffergrootte opgeven als je een grote hoeveelheid data verwacht:
// Creëert een StringWriter met een vooraf gedefinieerde buffercapaciteit
StringWriter output = new StringWriter(int grootte);
Het grootte-argument bepaalt de initiële capaciteit van de interne buffer.
Kernmethoden van StringWriter
De klasse implementeert diverse methoden geërfd van Writer, wat flexibele data-afhandeling mogelijk maakt.
write()-methode
write(int c)– schrijft een enkel karakterwrite(char[] cbuf)– schrijft een array karakterswrite(String str)– schrijft een string
Voorbeeld: StringWriter gebruiken
import java.io.StringWriter;
public class Main {
public static void main(String[] args) {
String data = "Dit is de tekst in de string.";
try {
StringWriter output = new StringWriter();
output.write(data);
System.out.println("Data in de StringWriter: " + output);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
Data in de StringWriter: Dit is de tekst in de string.
Data benaderen vanuit de buffer
getBuffer()– retourneert de onderliggendeStringBuffer-instantietoString()– retourneert de buffer-inhoud als een platteString
Voorbeeld:
import java.io.StringWriter;
public class Main {
public static void main(String[] args) {
String data = "Dit is de oorspronkelijke data";
try {
StringWriter output = new StringWriter();
output.write(data);
StringBuffer sb = output.getBuffer();
System.out.println("StringBuffer: " + sb);
String str = output.toString();
System.out.println("String: " + str);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
StringBuffer: Dit is de oorspronkelijke data String: Dit is de oorspronkelijke data
close()-methode
Het aanroepen van close() op een StringWriter geeft geen bronnen vrij of voorkomt verdere schrijfacties; het object blijft bruikbaar na sluiten.
Extra StringWriter-methoden
| Methode | Beschrijving |
|---|---|
flush() | Zorgt dat alle gebufferde data naar de string-buffer geschreven wordt (effectief no-op voor StringWriter) |
append() | Voegt een karakter of string toe aan de huidige buffer |
Voor de complete referentie, raadpleeg de officiële Java-documentatie.
Java
- Java Strings beheersen: aanmaken, methodes en best practices
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- 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
- String representaties in Java Enums meesteren
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- 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