V tomto výukovém programu se na příkladech seznámíme s prostředím Java StringWriter a jeho podtřídami.
StringWriter
Třída java.io
balení 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.StringWriter
nejprve 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
StringWriter
Třída poskytuje implementace pro různé metody prezentovat ve Writer
tří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 StringWriter
tří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).