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)

Java Map colección

Java Set colección

Java Entrada Salida (I/O)

Java Reader/Writer

Otras temáticas de Java

Clase Java StringReader

En este tutorial, aprenderemos sobre Java StringReader y sus métodos a través de ejemplos.

La clase StringReader del paquete java.io se puede usar para leer datos de una cadena (en unidades de caracteres).

Hereda de la clase abstracta Reader.

AtenciónEn StringReader, la cadena especificada actúa como fuente, desde la cual se leen caracteres.

creando un StringReader

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

//creando un StringReader
StringReader input = new StringReader(String data);

Aquí, creamos un StringReader que lee caracteres de una cadena especificada llamada data.

Métodos de StringReader

La clase StringReader proporciona implementaciones para diferentes métodos de la clase Reader.

método read()

  • read() - Leer un carácter desde el lector de cadena

  • read(char[] array)  - Leer caracteres del lector y almacenarlos en el array especificado

  • read(char[] array, int start, int length) - Leer una cantidad igual a length de caracteres desde el lector y almacenarlos en el array especificado comenzando en la posición start

ejemplo: Java StringReader

import java.io.StringReader;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text read from StringReader.";
    //creando un array de caracteres
    char[] array = new char[100];
    try {
      //creando un StringReader
      StringReader input = new StringReader(data);
      //usando el método read
      input.read(array);
      System.out.println("Leer datos de una cadena:");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

Leer datos de una cadena:
This is the text read from StringReader.

En el ejemplo anterior, creamos un lector de cadena llamado input. El lector de cadena está vinculado a los datos de cadena (data).

String data = "This is a text in the string.";
StringReader input = new StringReader(data);

Para leer datos de una cadena, hemos utilizado el método read().

Aquí, este método lee caracteres del lector y los almacena en el array especificado.

método skip()

Para descartar y saltar una cantidad específica de caracteres, se puede usar el método skip(). Por ejemplo

import java.io.StringReader;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text read from StringReader";
    System.out.println("Datos originales: " + data);
    //creando un array de caracteres
    char[] array = new char[100];
    try {
      //creando un StringReader
      StringReader input = new StringReader(data);
      //usando el método skip()
      input.skip(5);
      //usando el método read
      input.read(array);
      System.out.println("Saltar5de los caracteres:");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

Datos originales: This is the text read from the StringReader
saltar5caracteres de datos posteriores:
es el texto leído desde el StringReader

En el ejemplo anterior, usamos el método skip() para saltar en el lector de cadenas5caracteres. Por lo tanto, los caracteres 'T', 'h', 'i', 's' y ' ' se saltan del lector de cadenas original.

Método close()

Para cerrar el lector de cadenas, podemos usar el método close(). Después de llamar al método close(), no podremos usar el lector para leer datos de la cadena.

Otros métodos de StringReader

MétodoDescripción
ready()Comprobar si el lector de cadenas está listo para ser leído
mark()Posición de datos leídos en el lector de marcas
reset()Restablecer la marca, volver a la posición marcada en el lector