Java StringWriter (s příklady)

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če
  • write(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ězce
  • toString() - 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).

Zajímavé články...