Освоение Java StringReader: чтение символов из строк
Класс Java StringReader
Класс StringReader пакета java.io используется для чтения данных (в символах) из строк.
Он расширяет абстрактный класс Reader.
Примечание: В StringReader указанная строка выступает источником, откуда символы читаются по отдельности.
Создание StringReader
Импортируйте пакет java.io.StringReader. Создание ридера:
// Создаёт StringReader
StringReader input = new StringReader(String data);
Здесь создан StringReader, читающий символы из указанной строки data.
Методы StringReader
Метод 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 input = new StringReader(data);
// Используем skip()
input.skip(5);
// Читаем
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(). После вызова нельзя читать данные из строки.
Другие методы StringReader
| Метод | Описание |
|---|---|
ready() | проверяет, готов ли строковый ридер к чтению |
mark() | помечает позицию в ридере до куда прочитаны данные |
reset() | возвращает контроль в точку ридера, где была установлена отметка |
Подробнее: Java StringReader (официальная документация).
java
- Ключевое слово final в Java: переменные, методы и классы
- Оператор instanceof в Java: полное руководство с примерами
- Наследование в Java: концепции, типы и практические примеры
- Статические вложенные классы в Java: использование, отличия и примеры
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Паттерн Singleton в Java: как реализовать и безопасно использовать
- Рефлексия в Java: инспекция классов, методов и полей во время выполнения
- Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
- Освоение Java Generics: создание переиспользуемого, типобезопасного кода
- Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление