掌握 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 input = new StringReader(data);
input.read(array);
System.out.println("Data read from the string:");
System.out.println(array);
input.close();
} catch(Exception e) {
e.getStackTrace();
}
}
}
输出
Data read from the string: This is the text read from StringReader.
创建名为 input 的字符串读取器,关联字符串 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("Original data: " + data);
char[] array = new char[100];
try {
StringReader input = new StringReader(data);
input.skip(5);
input.read(array);
System.out.println("Data after skipping 5 characters:");
System.out.println(array);
input.close();
} catch(Exception e) {
e.getStackTrace();
}
}
}
输出
Original data: This is the text read from the StringReader Data after skipping 5 characters: is the text read from the StringReader
跳过 5 字符,原字符串的 'T'、'h'、'i'、's' 和 ' ' 被跳过。
close() 方法
用 close() 关闭字符串读取器。调用后不能再用该读取器读取字符串数据。
StringReader 其他方法
| 方法 | 描述 |
|---|---|
ready() | 检查字符串读取器是否准备好可读 |
mark() | 标记读取器已读位置 |
reset() | 返回控制到标记设置的读取器位置 |
详见官方 Java StringReader 文档。
java
- 深入理解 Java final 关键字:变量、方法与类的不可变性
- Java instanceof 运算符完全指南:用法、继承与接口检查
- 精通 Java 继承:核心概念、类型与实战示例
- 深入理解 Java 静态嵌套类:用法、差异与实战示例
- 精通 Java 匿名内部类:定义、语法与实战示例
- Java 单例模式详解:安全实现与使用指南
- 精通 Java 反射:运行时检查类、方法与字段
- 精通 Java ArrayList:操作、方法与最佳实践
- Java Stack 类全面指南:用法、核心方法与实战示例
- 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
- 掌握 Java 泛型:构建可复用、类型安全的代码
- 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除