Neste tutorial, aprenderemos sobre Java StringWriter e suas subclasses com a ajuda de exemplos.
A StringWriterclasse do java.iopacote pode ser usada para gravar dados (em caracteres) no buffer de string.
Ele estende a classe abstrata Writer.

Nota : Em Java, o buffer de string é considerado uma string mutável. Ou seja, podemos modificar o buffer da string. Para converter de buffer de string em string, podemos usar o toString()método.
Crie um StringWriter
Para criar um StringWriter, devemos java.io.StringWriterprimeiro importar o pacote. Depois de importar o pacote, aqui está como podemos criar o gravador de string.
// Creates a StringWriter StringWriter output = new StringWriter();
Aqui, criamos o gravador de string com capacidade de buffer de string padrão. No entanto, podemos especificar a capacidade do buffer da string também.
// Creates a StringWriter with specified string buffer capacity StringWriter output = new StringWriter(int size);
Aqui, o tamanho especifica a capacidade do buffer da string.
Métodos de StringWriter
A StringWriterclasse fornece implementações para diferentes métodos presentes na Writerclasse.
Método write ()
write()- escreve um único caractere para o escritor de stringwrite(char() array)- grava os caracteres da matriz especificada para o escritorwrite(String data)- escreve a string especificada para o escritor
Exemplo: 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(); ) ) )
Resultado
Dados no StringWriter: este é o texto na string.
No exemplo acima, criamos um escritor de string chamado output.
StringWriter output = new StringWriter();
Em seguida, usamos o write()método para gravar os dados da string no buffer da string.
Nota : Usamos o toString()método para obter os dados de saída do buffer de string na forma de string.
Acessar dados de StringBuffer
getBuffer()- retorna os dados presentes no buffer da stringtoString()- retorna os dados presentes no buffer da string como uma string
Por exemplo,
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(); ) ) )
Resultado
StringBuffer: Estes são os dados originais String: Estes são os dados originais
Aqui, usamos o getBuffer()método para obter os dados presentes no buffer da string. E também o método toString()retorna os dados presentes no buffer de string como uma string.
Método close ()
Para fechar o gravador de string, podemos usar o close()método.
No entanto, o close()método não tem efeito na StringWriteraula. Podemos usar os métodos desta classe mesmo após o close()método ser chamado.
Outros métodos de StringWriter
| Método | Descrição |
|---|---|
flush() | força a gravar todos os dados presentes no gravador no buffer da string |
append() | insere o caractere especificado para o escritor atual |
Para saber mais, visite Java StringWriter (documentação oficial do Java).








