Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java StringReader 類

在本教程中,我們將借助示例學(xué)習(xí)Java StringReader及其方法。

java.io包的StringReader類可用于從字符串讀取數(shù)據(jù)(以字符為單位)。

它繼承了抽象類Reader。

StringReader類是Java Reader的子類。

注意:在StringReader中,指定的字符串充當(dāng)源,從其中分別讀取字符。

創(chuàng)建一個(gè)StringReader

為了創(chuàng)建一個(gè)StringReader,我們必須首先導(dǎo)入java.io.StringReader包。導(dǎo)入包后,就可以創(chuàng)建字符串讀取器了。

//創(chuàng)建 StringReader
StringReader input = new StringReader(String data);

在這里,我們創(chuàng)建了一個(gè)StringReader,它從指定的名為data的字符串中讀取字符。

StringReader的方法

StringReader類為Reader類中的不同方法提供了實(shí)現(xiàn)。

read()方法

  • read() - 從字符串讀取器讀取單個(gè)字符

  • read(char[] array)  - 從閱讀器讀取字符并將其存儲(chǔ)在指定的數(shù)組中

  • read(char[] array, int start, int length) - 從閱讀器讀取等于length字符的數(shù)量,并從start位置開始存儲(chǔ)在指定的數(shù)組中

示例:Java StringReader

import java.io.StringReader;

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

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

    //創(chuàng)建一個(gè)字符數(shù)組
    char[] array = new char[100];

    try {
      //創(chuàng)建一個(gè)StringReader
      StringReader input = new StringReader(data);

      //使用read方法
      input.read(array);
      System.out.println("從字符串讀取數(shù)據(jù):");
      System.out.println(array);

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

輸出結(jié)果

從字符串讀取數(shù)據(jù):
This is the text read from StringReader.

在上面的示例中,我們創(chuàng)建了一個(gè)名為input的字符串讀取器。 字符串閱讀器鏈接到字符串?dāng)?shù)據(jù)(data)。

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

為了從字符串中讀取數(shù)據(jù),我們使用了read()方法。

在此,該方法從閱讀器讀取字符數(shù)組,并將其存儲(chǔ)在指定的數(shù)組中。

skip()方法

要丟棄和跳過指定數(shù)量的字符,可以使用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("原始數(shù)據(jù): " + data);

    //創(chuàng)建一個(gè)字符數(shù)組
    char[] array = new char[100];

    try {
      //創(chuàng)建 StringReader
      StringReader input = new StringReader(data);

      //使用 skip() 方法
      input.skip(5);

      //使用 read 方法
      input.read(array);
      System.out.println("跳過5個(gè)字符后的數(shù)據(jù):");
      System.out.println(array);

      input.close();
    }

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

輸出結(jié)果

原始數(shù)據(jù): This is the text read from the StringReader
跳過5個(gè)字符后的數(shù)據(jù):
is the text read from the StringReader

在上面的示例中,我們使用skip()方法從字符串讀取器中跳過5個(gè)字符。因此,字符'T'、'h'、'i'、's'和' '從原始字符串讀取器中被跳過。

close()方法

要關(guān)閉字符串閱讀器,我們可以使用該close()方法。調(diào)用close()方法后,我們將無法使用讀取器從字符串讀取數(shù)據(jù)。

StringReader的其他方法

方法描述
ready()檢查字符串讀取器是否準(zhǔn)備好被讀取
mark()標(biāo)記讀取器中已讀取數(shù)據(jù)的位置
reset()重置標(biāo)記,返回到閱讀器中設(shè)置標(biāo)記的位置
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清