📜  Java StringReader类

📅  最后修改于: 2020-09-26 15:31:34             🧑  作者: Mango

在本教程中,我们将借助示例学习Java StringReader及其方法。

java.io包的StringReader类可用于从字符串读取数据(以字符 )。

它扩展了抽象类Reader

The StringReader class is a subclass of Java Reader.

注意 :在StringReader ,指定的字符串充当从中单独读取字符的源。


创建一个StringReader

为了创建StringReader ,我们必须首先导入java.io.StringReader包。导入包后,就可以创建字符串阅读器。

// Creates a StringReader
StringReader input = new StringReader(String data);

在这里,我们创建了一个StringReader ,它从名为data的指定字符串中读取字符 。


StringReader的方法

StringReader类为Reader类中提供的不同方法提供实现。

read()方法

  • read() -从字符串读取器读取单个字符
  • read(char[] array) -从阅读器读取字符并将其存储在指定的数组中
  • read(char[] array, int start, int length) -从读取器读取等于长度的字符数,并从位置start开始存储在指定的数组中

示例:Java StringReader

import java.io.StringReader;

public class Main {
  public static void main(String[] args) {

    String data = "This is the text read from StringReader.";

    // Create a character array
    char[] array = new char[100];

    try {
      // Create a StringReader
      StringReader input = new StringReader(data);

      //Use the read method
      input.read(array);
      System.out.println("Data read from the string:");
      System.out.println(array);

      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

输出

Data read from the string:
This is the text read from StringReader.

在上面的示例中,我们创建了一个名为input的字符串读取器。 字符串阅读器链接到字符串 数据

String data = "This is a text in the string.";
StringReader input = new StringReader(data);

为了从字符串读取数据,我们使用了read()方法。

在此,该方法从阅读器读取字符数组,并将其存储在指定的数组中。


skip()方法

要丢弃并跳过指定数量的字符,我们可以使用skip()方法。例如,

import java.io.StringReader;

public class Main {
  public static void main(String[] args) {

    String data = "This is the text read from StringReader";
    System.out.println("Original data: " + data);

    // Create a character array
    char[] array = new char[100];

    try {
      // Create a StringReader
      StringReader input = new StringReader(data);

      // Use the skip() method
      input.skip(5);

      //Use the read method
      input.read(array);
      System.out.println("Data after skipping 5 characters:");
      System.out.println(array);

      input.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

输出

Original data: This is the text read from the StringReader
Data after skipping 5 characters:
is the text read from the StringReader

在上面的示例中,我们使用了skip()方法从字符串读取器中跳过了5个字符 。因此,将从原始字符串阅读器中跳过字符 'T''h''i''s'' '


close()方法

要关闭字符串阅读器,我们可以使用close()方法。一旦调用close()方法,我们就无法使用读取器从字符串读取数据。


StringReader的其他方法
Method Description
ready() checks if the string reader is ready to be read
mark() marks the position in reader up to which data has been read
reset() returns the control to the point in the reader where the mark was set

要了解更多信息,请访问Java StringReader(Java官方文档)。