Java CharArrayReader
类
原文:https://www.studytonight.com/java-file-io/java-chararrayreader-class
在本教程中,我们将学习 Java 中的CharArrayReader
类。这个类使用字符数组创建一个字符缓冲区。该类提供了mark()
、 read()
、close(), reset()
、 markSupported()
、skip()
和ready()
等多种方法
句法
这是 Java 中CharArrayReader
类的语法声明。我们可以看到这个类继承了Reader
类。
public class CharArrayReader extends Reader
Java CharArrayReader 类方法
CharAraayReader
类的所有方法如下表所示
方法 | 描述 |
---|---|
int read() |
此方法用于读取单个字符 |
int read(char[] b, int off, int len) |
此方法用于将字符读入数组部分。 |
boolean ready() |
此方法用于判断流是否准备好读取。 |
boolean markSupported() |
此方法用于判断流是否支持 mark()操作。 |
long skip(long n) |
此方法用于跳过输入流中的字符。 |
void mark(int readAheadLimit) |
此方法用于标记流中的当前位置。 |
void reset() |
此方法用于将流重置为最近的标记。 |
void close() |
此方法用于关闭流。 |
CharArrayReader 类示例
在下面的例子中,我们使用CharArrayReader
类实现read()
方法。我们从小溪中一个一个地读一个字,直到它到达小溪的尽头,小溪的尽头将是-1
。
package studytonight;
import java.io.CharArrayReader;
public class StudyTonight
{
public static void main(String args[]) throws Exception
{
char[] arr = { 's', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't' };
CharArrayReader reader = new CharArrayReader(arr);
int ch = 0;
while ((ch = reader.read()) != -1) {
System.out.print((char)ch);
}
}
}
今晚学习
CharArrayReader 类示例
在下面的例子中,我们将实现mark(), reset()
和markSupported()
方法,这里 read 方法将读取一个字符并将其打印在屏幕上。然后使用 mark()方法标记特定位置的点,并使用markSupported()
方法检查我们的位置是否被标记,使用 reset 方法流将重新定位我们标记位置的位置,并再次从该点提供值。
package studytonight;
import java.io.CharArrayReader;
public class StudyTonight
{
public static void main(String args[]) throws Exception
{
char[] arr = { 's', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't' };
CharArrayReader reader = new CharArrayReader(arr);
System.out.println("Element : "+(char)reader.read());
System.out.println("Element : "+(char)reader.read());
System.out.println("Element : "+(char)reader.read());
reader.mark(0);
System.out.println("Element : "+(char)reader.read());
System.out.println("Element : "+(char)reader.read());
if (reader.markSupported())
{
System.out.println("\nmark() is supported\n");
reader.reset();
System.out.println("Element : "+(char)reader.read());
System.out.println("Element : "+(char)reader.read());
}
else
{
System.out.println("mark() method not supported.");
}
}
}
元素:s 元素:t 元素:u 元素:d 元素:y
标记()被支持
元素:d 元素:y
结论
在本教程中,我们学习了 Java 中的CharArrayReader
类。CharArrayReader 类使用字符数组创建字符缓冲区。
使用mark()
方法,我们可以设置位置,只要需要,我们就可以从该位置开始阅读。稍后,我们只能从这一点开始读取数据。