I denne vejledning lærer vi om Java StringWriter og dens underklasser ved hjælp af eksempler.
Den StringWriter
klasse af java.io
pakken kan bruges til at skrive data (i tegn) til strengen buffer.
Det udvider den abstrakte klasse Writer
.
Bemærk : I Java betragtes strengbuffer som en ændret streng. Det vil sige, vi kan ændre strengbufferen. For at konvertere fra strengbuffer til streng kan vi bruge toString()
metoden.
Opret en StringWriter
For at oprette en StringWriter
skal vi først importere java.io.StringWriter
pakken. Når vi først har importeret pakken, kan vi oprette strengforfatteren her.
// Creates a StringWriter StringWriter output = new StringWriter();
Her har vi oprettet strengforfatteren med standard strengbufferkapacitet. Vi kan dog også specificere strengbufferkapaciteten.
// Creates a StringWriter with specified string buffer capacity StringWriter output = new StringWriter(int size);
Her angiver størrelsen strengbufferens kapacitet.
Metoder til StringWriter
Den StringWriter
klasse giver implementeringer for forskellige metoder præsentere i Writer
klasse.
skriv () metode
write()
- skriver et enkelt tegn til strengforfatterenwrite(char() array)
- skriver tegnene fra det angivne array til forfatterenwrite(String data)
- skriver den angivne streng til forfatteren
Eksempel: 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: Dette er teksten i strengen.
I ovenstående eksempel har vi oprettet en strengforfatter med navnet output.
StringWriter output = new StringWriter();
Vi bruger derefter write()
metoden til at skrive strengdata til strengbufferen.
Bemærk : Vi har brugt toString()
metoden til at hente outputdataene fra strengbuffer i strengform.
Få adgang til data fra StringBuffer
getBuffer()
- returnerer de data, der er til stede i strengbufferentoString()
- returnerer de tilstedeværende data i strengbufferen som en streng
For eksempel,
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: Dette er de originale data String: Dette er de originale data
Her har vi brugt getBuffer()
metoden til at få dataene til stede i strengbufferen. Og også metoden toString()
returnerer de data, der er til stede i strengbufferen som en streng.
close () Metode
For at lukke strengforfatteren kan vi bruge close()
metoden.
Imidlertid close()
metode har ingen effekt i StringWriter
klassen. Vi kan bruge metoderne i denne klasse, selv efter at close()
metoden er kaldt.
Andre metoder til StringWriter
Metode | Beskrivelse |
---|---|
flush() | tvinger til at skrive alle data til stede i forfatteren til strengbufferen |
append() | indsætter det angivne tegn i den aktuelle forfatter |
For at lære mere, besøg Java StringWriter (officiel Java-dokumentation).