Java PipedReader.read()方法

原文:https://www.studytonight.com/java-file-io/pipedreader-read-method-in-java

在本教程中,我们将学习 JavaPipedReader 类的 read()方法。这个方法从这个管道流中读取数据的下一个字符。如果因为已经到达流的末尾而没有可用的字符,则返回值-1。

句法

这是 read()方法的语法声明,该方法不接受任何参数,但返回整数格式的 ASCII 码。

public int read()

示例:使用管道检测器类读取字符

在这个例子中,我们将从PipedReeader类中实现read()方法。首先,我们为类PipedReaderPipedWriter创建对象,然后使用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 示例,我们正在从字符数组中读取数据。如前所述,我们必须连接PipedReaderPipedWriter,在本节目中,我们使用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());
        }
    }
}

你好

结论:

在本教程中,我们学习了JavaPipedReader 类的 read()方法。这个方法从这个管道流中读取数据的下一个字符。如果因为已经到达流的末尾而没有可用的字符,则返回值-1。