Java Reader read(CharBuffer)方法及示例

Java Reader read(CharBuffer)方法及示例

Java中Reader类的read(CharBuffer)方法是用来读取指定的字符到CharBuffer实例中。这个方法阻塞了流,直到。

  • 它已经从流中获取了一些输入。
  • 发生了一些IOException
  • 读取时已经到达了流的末端。

语法。

public int read(CharBuffer charBuffer)

参数。该方法接受一个强制性参数charBuffer,它是要写入Stream的CharBuffer实例。

返回值。该方法返回一个整数,即从流中读取的字符数。如果没有读取任何字符,则返回-1。

异常。该方法会抛出以下异常。

  • IOException:如果在输入输出时发生一些错误。
  • NullPointerException:如果要填充的CharBuffer实例为空。
  • ReadOnlyBufferException:如果要填充的CharBuffer实例是一个只读缓冲区。

下面的方法说明了read(CharBuffer)方法的工作。

程序 1:

// Java program to demonstrate
// Reader read(CharBuffer) method
  
import java.io.*;
import java.util.*;
import java.nio.CharBuffer;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
  
            String str = "GeeksForGeeks";
  
            // Create a Reader instance
            Reader reader
                = new StringReader(str);
  
            // Get the CharBuffer instance
            // to be read from the stream
            CharBuffer charBuffer
                = CharBuffer.allocate(5);
  
            // Read the charBuffer
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            reader.read(charBuffer);
  
            // Print the read charBuffer
            System.out.println(charBuffer
                                   .flip()
                                   .toString());
  
            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

输出:

Geeks

程序2。

// Java program to demonstrate
// Reader read(CharBuffer) method
  
import java.io.*;
import java.util.*;
import java.nio.CharBuffer;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
  
            String str = "GeeksForGeeks";
  
            // Create a Reader instance
            Reader reader
                = new StringReader(str);
  
            // Get the CharBuffer instance
            // to be read from the stream
            CharBuffer charBuffer
                = CharBuffer
                      .allocate(
                          str.length());
  
            // Read the charBuffer
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            reader.read(charBuffer);
  
            // Print the read charBuffer
            System.out.println(charBuffer
                                   .flip()
                                   .toString());
  
            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

输出:

GeeksForGeeks

参考资料: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#read-java.nio.CharBuffer-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程