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

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Ввод/вывод (I/O)

Java Reader/Writer

Другие темы Java

Класс Java StringReader

В этом руководстве мы будем изучать Java StringReader и его методы с помощью примеров.

Класс StringReader пакета java.io можно использовать для чтения данных из строки (в виде символов).

Он наследуется от абстрактного класса Reader.

ВниманиеВ StringReader заданная строка играет роль источника, из которого читаются символы.

Создание StringReader

Для создания StringReader нам сначала нужно импортировать пакет java.io.StringReader. После импорта пакета можно создать строковый читатель.

//Создание StringReader
StringReader input = new StringReader(String data);

Здесь мы создаем StringReader, который читает символы из заданной строки с именем data.

Методы StringReader

Класс StringReader предоставляет реализацию различных методов класса Reader.

Метод read()

  • read() - Чтение отдельного символа из строки

  • read(char[] array) - Читает символы из читателя и хранит их в указанном массиве

  • read(char[] array, int start, int length) - Читает из читателя количество символов, равное length, и хранит их в указанном массиве начиная с позиции start

Пример: Java StringReader

import java.io.StringReader;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text read from StringReader.";
    //Создание массива символов
    char[] array = new char[100];
    try {
      //Создание StringReader
      StringReader input = new StringReader(data);
      //Использование метода read
      input.read(array);
      System.out.println("Чтение данных из строки:");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Результат вывода

Чтение данных из строки:
This is the text read from StringReader.

В примере выше мы создали строковый читатель под названием input, который связан с строковыми данными (data).

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

Чтобы читать данные из строки, мы используем метод read().

В данном случае метод читает символы из читателя и хранит их в указанном массиве.

Метод skip()

Чтобы пропустить и перейти к указанному количеству символов, можно использовать метод skip(). Например

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("Оригинальные данные: " + data);
    //Создание массива символов
    char[] array = new char[100];
    try {
      //Создание StringReader
      StringReader input = new StringReader(data);
      //Использование метода skip()
      input.skip(5);
      //Использование метода read
      input.read(array);
      System.out.println("Пропустить 5 символов и данные после них:");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Результат вывода

Исходные данные: This is the text read from the StringReader
Данные после пропуска 5 символов:
is the text read from the StringReader

В примере выше мы используем метод skip() для пропуска 5 символов в строковом читателе. Поэтому символы 'T', 'h', 'i', 's' и ' ' пропущены из исходного строкового читателя.

Метод close()

Чтобы закрыть строковый читатель, мы можем использовать метод close(). После вызова метода close() мы не сможем использовать читатель для чтения данных из строки.

Другие методы StringReader

МетодОписание
ready()Проверить, готов ли строковый читатель к чтению
mark()Положение уже прочитанных данных в маркере чтения
reset()Сбросить метку, вернуться к положению метки в читателе