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

Tutoriales básicos de Java

Control de flujo Java

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjuntos Map de Java

Conjuntos Java

Java Entrada Salida (I/O)

Reader de Java/Writer

Temas de Java

Clase StringWriter de Java

En este tutorial, aprenderemos a través de ejemplos Java StringWriter y sus subclases.

La clase StringWriter del paquete java.io se puede usar para escribir datos (en unidades de caracteres) en el búfer de cadena.

Hereda de la clase abstracta Writer.

NotaEn Java, el búfer de cadena se considera una cadena mutable. Es decir, podemos modificar el búfer de cadena. Para convertir el búfer de cadena en una cadena, podemos usar el método toString().

Crear un StringWriter

Para crear un StringWriter, primero debemos importar el paquete java.io.StringWriter. Después de importar el paquete, podemos crear el escritor de cadenas.

//Crear StringWriter
StringWriter output = new StringWriter();

Aquí, creamos un escritor de cadenas con capacidad de búfer de cadena predeterminada. Pero, también podemos especificar la capacidad del búfer de cadena.

//Crear un StringWriter con capacidad de búfer de cadena especificada
StringWriter output = new StringWriter(int size);

Aquí, size especifica la capacidad del búfer de cadenas.

Métodos de StringWriter

La clase StringWriter proporciona implementaciones para diferentes métodos del tipo Writer.

Método write()

  • write() - Escribe un carácter en el escritor

  • write(char[] array) - Escribe los caracteres del array especificado en el escritor

  • write(String data) - Escribe la cadena especificada en el escritor

Ejemplo: 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 {
      //Crea un StringWriter con capacidad de buffer de cadena predeterminada
      StringWriter output = new StringWriter();
      //Escribe los datos en el buffer de cadena
      output.write(data);
      //Imprimir el StringWriter
      System.out.println("Los datos en StringWriter: " + "" + output);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

Los datos en StringWriter: "This is the text in the string."

En el ejemplo anterior, creamos un escritor de cadena llamado output.

StringWriter output = new StringWriter();

Luego, utilizamos el método write() para escribir los datos de cadena en el buffer de cadena.

Nota: Ya hemos utilizado el método toString() para obtener los datos de salida en forma de cadena desde el buffer de cadena.

Accede a los datos desde StringBuffer

  • getBuffer() -Devuelve los datos existentes en el buffer de cadena

  • toString() -Devuelve los datos existentes en el buffer de cadena como una cadena

Por ejemplo,

import java.io.StringWriter;
public class Main {
  public static void main(String[] args) {
    String data = "This is the original data";
    try {
      //Crea un StringWriter con capacidad de buffer de cadena predeterminada
      StringWriter output = new StringWriter();
      //Escribe los datos en el buffer de cadena
      output.write(data);
      //Devuelve el buffer de cadena
      StringBuffer stringBuffer = output.getBuffer();
      System.out.println("CadenaBuffer: " + "" + stringBuffer);
      //Devuelve la cadena en forma de cadena
      String string = output.toString();
      System.out.println("Cadena: " + "" + string);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

StringBuffer: Este es los datos original
Cadena: Este es los datos original

Aquí, usamos el método getBuffer() para obtener los datos existentes en el búfer de cadenas. Además, el método toString() devuelve los datos existentes en el búfer de cadenas en forma de cadena.

Método close()

Para cerrar el escritor de cadenas, podemos usar el método close().

Sin embargo, el método close() en la clase StringWriter no es válido. Incluso si se llama al método close(), podemos usar los métodos de este objeto.

Otras métodos de StringWriter

MétodoDescripción
flush()Forzar la escritura de todos los datos existentes en el escritor en el búfer de cadenas
append()Insertar el carácter especificado en el escritor actual