I denna handledning lär vi oss om Java StringWriter och dess underklasser med hjälp av exempel.
Paketets StringWriter
klass java.io
kan användas för att skriva data (i tecken) till strängbufferten.
Det utvidgar den abstrakta klassen Writer
.
Obs! I Java betraktas strängbuffert som en muterbar sträng. Det vill säga vi kan ändra strängbufferten. För att konvertera från strängbuffert till sträng kan vi använda toString()
metoden.
Skapa en StringWriter
För att skapa ett StringWriter
måste vi först importera java.io.StringWriter
paketet. När vi väl har importerat paketet här kan vi skapa strängskrivaren.
// Creates a StringWriter StringWriter output = new StringWriter();
Här har vi skapat strängskrivaren med standardsträngbuffertkapacitet. Vi kan dock också ange strängbuffertkapacitet.
// Creates a StringWriter with specified string buffer capacity StringWriter output = new StringWriter(int size);
Här anger storleken kapaciteten för strängbufferten.
Metoder för StringWriter
Den StringWriter
klass erbjuder implementeringar för olika metoder att presentera i Writer
klassen.
skriv () Metod
write()
- skriver en enda karaktär till strängförfattarenwrite(char() array)
- skriver karaktärerna från den angivna matrisen till författarenwrite(String data)
- skriver den angivna strängen till författaren
Exempel: 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(); ) ) )
Produktion
Data i StringWriter: Detta är texten i strängen.
I exemplet ovan har vi skapat en strängförfattare med namnet output.
StringWriter output = new StringWriter();
Vi använder sedan write()
metoden för att skriva strängdata till strängbufferten.
Obs! Vi har använt toString()
metoden för att få utdata från strängbuffert i strängform.
Åtkomst till data från StringBuffer
getBuffer()
- returnerar data som finns i strängbuffertentoString()
- returnerar data som finns i strängbufferten som en sträng
Till exempel,
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(); ) ) )
Produktion
StringBuffer: Detta är originaldata String: Detta är originaldata
Här har vi använt getBuffer()
metoden för att få data närvarande i strängbufferten. Och metoden toString()
returnerar data som finns i strängbufferten som en sträng.
close () Metod
För att stänga strängskrivaren kan vi använda close()
metoden.
Men close()
har metoden ingen effekt i StringWriter
klassen. Vi kan använda metoderna i denna klass även efter att close()
metoden har anropats.
Andra metoder för StringWriter
Metod | Beskrivning |
---|---|
flush() | tvingar att skriva all data som finns i författaren till strängbufferten |
append() | infogar det angivna tecknet i den aktuella författaren |
För att lära dig mer, besök Java StringWriter (officiell Java-dokumentation).