English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Controllo di flusso Java

Array Java

Orientamento ad oggetti (I) Java

Orientamento ad oggetti (II) Java

Orientamento ad oggetti (III) Java

Gestione delle eccezioni Java

Lista Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Classe StringWriter Java

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().

Creazione di un StringWriter

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.

Metodo di StringWriter

La classe StringWriter fornisce implementazioni di diversi metodi forniti dalla classe Writer.

Metodo write()

  • 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

Esempio: 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 {
      //创建具有默认字符串缓冲区容量的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.

Accesso ai dati da StringBuffer

  • 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.

Metodo close()

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.

Altri metodi di StringWriter

MetodoDescrizione
flush()Forza la scrittura di tutti i dati esistenti nel writer nel buffer di stringa
append()Inserisci il carattere specificato nel writer corrente