📜  Java中的 StringReader read(char[], int, int) 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:57.378000             🧑  作者: Mango

Java中的 StringReader read(char[], int, int) 方法及示例

简介

Java中的 StringReader 类提供了用于读取字符串内容的方法。其中之一是 read(char[], int, int) 方法,该方法用于从字符串中读取字符到指定的字符数组中。本文将介绍该方法的语法、参数、返回值以及示例。

语法

以下是 StringReader 类的 read(char[], int, int) 方法的语法:

public int read(char[] cbuf, int offset, int length) throws IOException
参数

read(char[], int, int) 方法接受以下参数:

  • cbuf:用于存储读取字符的字符数组。
  • offset:读取字符存储开始的偏移量。
  • length:读取的字符数。
返回值

read(char[], int, int) 方法返回读取的字符数,如果已到达流的末尾,则返回-1。

示例

下面是一个示例,展示如何使用 StringReaderread(char[], int, int) 方法从字符串中读取字符到字符数组中:

import java.io.IOException;
import java.io.StringReader;

public class StringReaderExample {
    public static void main(String[] args) {
        String input = "Hello World";
        char[] buffer = new char[5];

        try (StringReader reader = new StringReader(input)) {
            int numCharsRead;

            while ((numCharsRead = reader.read(buffer, 0, buffer.length)) != -1) {
                System.out.println("Read " + numCharsRead + " characters: ");
                System.out.println(new String(buffer, 0, numCharsRead));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

输出:

Read 5 characters:
Hello
Read 5 characters:
 Worl
Read 1 characters:
d

在上述示例中,我们首先创建一个包含字符串 "Hello World" 的 StringReader 对象。然后,我们创建一个长度为5的字符数组作为缓冲区。通过循环迭代读取字符,每次读取的字符数被存储在 numCharsRead 变量中。我们将读取的字符数组转换为字符串并打印出来。当读取到末尾时,reader.read() 方法返回-1,循环结束。

注意,在示例中我们使用了Java 7中的 try-with-resources 语句来自动关闭 StringReader,确保资源被正确释放。

以上就是关于 Java 中的 StringReader read(char[], int, int) 方法及示例的详细介绍。该方法可用于从字符串中读取指定数量的字符,方便进行字符处理操作。