Java 中的 StringReader 类是一个字符流类,其源是字符串。它继承了Reader类。不需要关闭StringReader,因为没有使用网络套接字和文件等系统资源。让我们检查一下有关 Java 中StringReader 类的更多要点。
在 Java 中声明 StringReader 类
public class StringReader extends Reader
Java StringReader 类中的构造函数
Java中与StringReader类一起使用的构造函数如下:
StringReader(String s) : Creates a new string reader.
Java StringReader 类中的方法
JavaStringReader类中的方法如下:
方法 | 说明 |
---|---|
int read() | 读取单个字符 |
int 读取(char[] cbuf, int 关闭, int len) | 将字符读入数组的一部分 |
布尔值ready() | 告知该流是否已准备好读取 |
布尔值markSupported() | 告知流是否支持标记 |
无效标记(int readAheadLimit) | 标记流中存在位置中存在的标记 |
无效reset() | 将流重置为最近的标记,或者重置为字符串的开头(如果从未标记过)。 |
长跳过(长 ns) | 重置流中指定数量的字符 |
无效close() | 关闭流 |
1.int read()
读取单个字符。
Syntax :public int read() throws IOException 返回: The character read, or -1 if the end of the stream has been reached Throws: IOException
2. int 读取(char[] cbuf, int off, int len)
将字符读入数组的一部分。
Syntax :public int read(char[] cbuf,int off, int len) throws IOException 参数: cbuf - Destination buffer off - Offset at which to start writing characters len - Maximum number of characters to read 返回: The number of characters read, or -1 if the end of the stream has been reached Throws: IOException
3.布尔值ready()
告知该流是否已准备好读取。
Syntax :public boolean ready() throws IOException 返回: True if the next read() is guaranteed not to block for input Throws: IOException
4.布尔值markSupported()
告知此流是否支持 mark() 操作(它确实支持)。
Syntax :public boolean markSupported() 返回: true if and only if this stream supports the mark operation.
5. 无效标记(int readAheadLimit)
标记流中的当前位置。对 reset() 的后续调用会将流重新定位到这一点。
Syntax :public void mark(int readAheadLimit) throws IOException 参数: readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. Because the stream's input comes from a string, there is no actual limit, so this argument must not be negative, but is otherwise ignored. Throws: IllegalArgumentException IOException
6.无效reset()
将流重置为最近的标记,或者重置为字符串的开头(如果从未标记过)。
Syntax :public void reset() throws IOException Throws: IOException
7. 长跳过(long ns)
它跳过流中指定数量的字符。返回跳过的字符数。 ns 参数可能为负数,即使 Reader 超类的 Skip 方法在这种情况下会引发异常。 ns 的负值会导致流向后跳过。负返回值表示向后跳跃。不可能向后跳到字符串的开头。如果整个字符串已被读取或跳过,则此方法无效并始终返回 0。
Syntax :public long skip(long ns) throws IOException 参数: ns - The number of characters to skip 返回: The number of characters actually skipped Throws: IOException
8.无效close()
关闭流并释放与其关联的所有系统资源。关闭流后,进一步的 read()、ready()、mark() 或 reset() 调用将引发 IOException。关闭之前关闭的流没有任何效果。
Syntax :public void close()
示例
Java
// Java program demonstrating StringReader methods
import java.io.IOException;
import java.io.StringReader;
// Driver class
class StringReaderDemo {
// main function
public static void main(String[] args)
throws IOException
{
StringReader str = new StringReader(
" GeeksforGeeks & quot;);
char c[] = new char[7];
// illustrating markSupported()
if (str.markSupported()) {
System.out.println(
" Mark method is supported & quot;);
// illustrating mark()
str.mark(100);
}
// illustrating skip() method
str.skip(5);
// whether this stream is ready to be read.
if (str.ready()) {
// illustrating read() method
System.out.print((char)str.read());
// illustrating read(char cff[],int off,int len)
str.read(c);
for (int i = 0; i & lt; 7; i++) {
System.out.print(c[i]);
}
}
// illustrating reset() method
str.reset();
for (int i = 0; i & lt; 5; i++) {
System.out.print((char)str.read());
}
// illustrating close()
str.close();
}
}
输出
Mark method is supported forGeeksGeeks
相关用法
- Java Java.io.StringReader.close()用法及代码示例
- Java Java.io.StringReader.mark()用法及代码示例
- Java Java.io.StringReader.markSupported()用法及代码示例
- Java Java.io.StringReader.read()用法及代码示例
- Java Java.io.StringReader.ready()用法及代码示例
- Java Java.io.StringReader.reset()用法及代码示例
- Java Java.io.StringReader.skip()用法及代码示例
- Java Java.io.StringWriter.append()用法及代码示例
- Java Java.io.StringWriter.close()用法及代码示例
- Java Java.io.StringWriter.flush()用法及代码示例
- Java Java.io.StringWriter.getBuffer()用法及代码示例
- Java Java.io.StringWriter.toString()用法及代码示例
- Java Java.io.StringWriter.write()用法及代码示例
- Java Java.io.StringBufferInputStream用法及代码示例
- Java Java.io.StringWriter用法及代码示例
- Java Java.io.StreamTokenizer.commentChar()用法及代码示例
- Java Java.io.StreamTokenizer.eolIsSignificant()用法及代码示例
- Java Java.io.StreamTokenizer.lineno()用法及代码示例
- Java Java.io.StreamTokenizer.lowerCaseMode()用法及代码示例
- Java Java.io.StreamTokenizer.nextToken()用法及代码示例
- Java Java.io.StreamTokenizer.ordinaryChar()用法及代码示例
- Java Java.io.StreamTokenizer.ordinaryChars()用法及代码示例
- Java Java.io.StreamTokenizer.parseNumbers()用法及代码示例
- Java Java.io.StreamTokenizer.pushBack()用法及代码示例
- Java Java.io.StreamTokenizer.quoteChar()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.io.StringReader class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。