English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo grazie a esempi Java StringWriter e i suoi sottoclasse.
La classe StringWriter del pacchetto java.io può essere utilizzata per scrivere dati (in termini di caratteri) nel buffer di stringa.
Erede dell'astratto Writer.
AttenzioneIn Java, il buffer di stringa è considerato una stringa mutabile. Questo significa che possiamo modificare il buffer di stringa. Per convertire il buffer di stringa in una stringa, possiamo utilizzare il metodo toString().
Per creare un StringWriter, dobbiamo prima importare il pacchetto java.io.StringWriter. Dopo aver importato il pacchetto, possiamo creare il writer di stringa.
//Creazione di StringWriter StringWriter output = new StringWriter();
In questo contesto, abbiamo creato un writer di stringa con capacità di buffer di stringa predefinita. Ma possiamo anche specificare la capacità del buffer di stringa.
//Creazione di un StringWriter con capacità di buffer di stringa specificata StringWriter output = new StringWriter(int size);
In questo caso, size specifica la capacità del buffer di stringa.
La classe StringWriter fornisce implementazioni di diversi metodi forniti dalla classe Writer.
write() - scrive un carattere nel writer
write(char[] array) - scrive i caratteri dell'array specificato nel writer
write(String data) - scrive la stringa specificata nel writer
import java.io.StringWriter; public class Main { public static void main(String[] args) { String data = "This is the text in the string."; try { //创建具有默认字符串缓冲区容量的StringWriter StringWriter output = new StringWriter(); //将数据写入字符串缓冲区 output.write(data); //Stampa string writer System.out.println("Dati StringWriter: " + output); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Risultato di output
Dati StringWriter: This is the text in the string.
Nell'esempio sopra, abbiamo creato un string writer chiamato output.
StringWriter output = new StringWriter();
Poi, abbiamo utilizzato il metodo write() per scrivere i dati di stringa nella stringa buffer.
Attenzione:Abbiamo utilizzato il metodo toString() per ottenere i dati di output nella stringa buffer in forma di stringa.
getBuffer() - restituisce i dati esistenti nella stringa buffer
toString() - restituisce i dati esistenti nella stringa buffer come stringa
Ad esempio
import java.io.StringWriter; public class Main { public static void main(String[] args) { String data = "This is the original data"; try { //创建具有默认字符串缓冲区容量的StringWriter StringWriter output = new StringWriter(); //将数据写入字符串缓冲区 output.write(data); //返回字符串缓冲区 StringBuffer stringBuffer = output.getBuffer(); System.out.println("StringBuffer: " + stringBuffer); //以字符串形式返回字符串缓冲区 String string = output.toString(); System.out.println("String: " + string); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Risultato di output
StringBuffer: This is the original data String: This is the original data
Qui abbiamo utilizzato il metodo getBuffer() per ottenere i dati esistenti nel buffer di stringa. Inoltre, il metodo toString() restituisce i dati esistenti nel buffer di stringa in forma di stringa.
Per chiudere il writer di stringa, possiamo utilizzare il metodo close().
Ma il metodo close() nella classe StringWriter non è valido. Anche se è stato chiamato il metodo close(), possiamo utilizzare i metodi di questo tipo.
Metodo | Descrizione |
---|---|
flush() | Forza la scrittura di tutti i dati esistenti nel writer nel buffer di stringa |
append() | Inserisci il carattere specificato nel writer corrente |