Java PipedReader.read()
方法
原文:https://www.studytonight.com/java-file-io/pipedreader-read-method-in-java
在本教程中,我们将学习 Java 中 PipedReader 类的 read()方法。这个方法从这个管道流中读取数据的下一个字符。如果因为已经到达流的末尾而没有可用的字符,则返回值-1。
句法
这是 read()方法的语法声明,该方法不接受任何参数,但返回整数格式的 ASCII 码。
public int read()
示例:使用管道检测器类读取字符
在这个例子中,我们将从PipedReeader
类中实现read()
方法。首先,我们为类PipedReader
和PipedWriter
创建对象,然后使用connect()
方法连接它们。在这之后,我们简单地使用 PipedReader 和 PipedWriter 类的 read()和 write()方法进行读写。
import java.io.PipedReader;
import java.io.PipedWriter;
public class StudyTonight
{
public static void main(String args[])
{
try
{
PipedReader reader = new PipedReader();
PipedWriter writer = new PipedWriter();
reader.connect(writer);
writer.write(72);
System.out.println((char)reader.read());
writer.write(69);
System.out.println((char)reader.read());
writer.write(76);
System.out.println( (char)reader.read());
writer.write(76);
System.out.println( (char)reader.read());
writer.write(79);
System.out.println( (char)reader.read());
}
catch(Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
H E L L O
示例:使用管道检测器类读取字符
这里有一个简单的 Java PipedReader 示例,我们正在从字符数组中读取数据。如前所述,我们必须连接PipedReader
和PipedWriter
,在本节目中,我们使用connect()
方法连接PipedWriter
作家。
连接后,我们使用重载的方法public int read(char[] arr, int offset, int maxlen)
,这里arr
是数据源,
offset
表示源的起始位置,我们将从该位置开始读取数据。maxlength
是要读取的数据长度。
对于该方法的每次调用,它将返回该索引上的一个字符。当索引到达源流的末尾时,该方法将返回 -1
。
import java.io.PipedReader;
import java.io.PipedWriter;
public class StudyTonight
{
public static void main(String args[])
{
try
{
PipedReader reader = new PipedReader();
PipedWriter writer = new PipedWriter();
reader.connect(writer);
char[] arr = {'H', 'E', 'L', 'L', 'O'};
writer.write(arr, 0, 5);
while(true)
{
System.out.print((char) reader.read());
}
}
catch(Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
你好
结论:
在本教程中,我们学习了Java
中PipedReader
类的 read()方法。这个方法从这个管道流中读取数据的下一个字符。如果因为已经到达流的末尾而没有可用的字符,则返回值-1。