V tomto výukovém programu se na příkladech seznámíme s prostředím Java StringWriter a jeho podtřídami.
StringWriterTřída java.iobalení lze použít k zápisu dat (v znaků) do řetězce vyrovnávací paměti.
Rozšiřuje abstraktní třídu Writer.

Poznámka : V Javě je řetězcová vyrovnávací paměť považována za proměnlivý řetězec. To znamená, že můžeme upravit vyrovnávací paměť řetězce. K převodu z řetězcové vyrovnávací paměti na řetězec můžeme použít toString()metodu.
Vytvořte StringWriter
Aby bylo možné vytvořit StringWriter, musíme java.io.StringWriternejprve importovat balíček. Jakmile naimportujeme balíček, můžeme vytvořit zapisovač řetězců.
// Creates a StringWriter StringWriter output = new StringWriter();
Zde jsme vytvořili zapisovač řetězců s výchozí kapacitou vyrovnávací paměti řetězců. Můžeme však také určit kapacitu vyrovnávací paměti řetězce.
// Creates a StringWriter with specified string buffer capacity StringWriter output = new StringWriter(int size);
Zde velikost určuje kapacitu vyrovnávací paměti řetězce.
Metody StringWriter
StringWriterTřída poskytuje implementace pro různé metody prezentovat ve Writertřídě.
metoda write ()
write()- zapíše jeden znak do zapisovače řetězcůwrite(char() array)- zapíše znaky ze zadaného pole do zapisovačewrite(String data)- zapíše zadaný řetězec do zapisovače
Příklad: Java StringWriter
import java.io.StringWriter; public class Main ( public static void main(String() args) ( String data = "This is the text in the string."; try ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Prints the string writer System.out.println("Data in the StringWriter: " + output); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výstup
Data v StringWriter: Toto je text v řetězci.
Ve výše uvedeném příkladu jsme vytvořili zapisovač řetězců s názvem output.
StringWriter output = new StringWriter();
Poté použijeme write()metodu k zápisu dat řetězce do vyrovnávací paměti řetězce.
Poznámka : toString()Metodu jsme použili k získání výstupních dat z řetězcové vyrovnávací paměti ve formě řetězce.
Přistupovat k datům z StringBuffer
getBuffer()- vrací data přítomná ve vyrovnávací paměti řetězcetoString()- vrací data obsažená v řetězcové vyrovnávací paměti jako řetězec
Například,
import java.io.StringWriter; public class Main ( public static void main(String() args) ( String data = "This is the original data"; try ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Returns the string buffer StringBuffer stringBuffer = output.getBuffer(); System.out.println("StringBuffer: " + stringBuffer); // Returns the string buffer in string form String string = output.toString(); System.out.println("String: " + string); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výstup
StringBuffer: Toto jsou původní data String: Toto jsou původní data
Zde jsme použili getBuffer()metodu k získání dat přítomných v řetězcové vyrovnávací paměti. A také metoda toString()vrací data přítomná v řetězcové vyrovnávací paměti jako řetězec.
metoda close ()
Chcete-li zavřít zapisovač řetězců, můžeme použít close()metodu.
Nicméně, close()způsob má v žádný účinek StringWritertřídy. Metody této třídy můžeme používat i po close()vyvolání metody.
Další metody StringWriter
| Metoda | Popis |
|---|---|
flush() | nutí zapsat všechna data přítomná ve vypalovačce do vyrovnávací paměti řetězce |
append() | vloží zadaný znak do aktuálního zapisovače |
Další informace najdete v Java StringWriter (oficiální dokumentace Java).








