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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。