Java IO:StringReader

时间:2020-01-09 10:36:07  来源:igfitidea点击:

JavaStringReader类使我们可以将普通的String转换为Reader。如果我们将数据作为字符串,但需要将该字符串传递给仅接受"阅读器"的组件,则这很有用。

StringReader示例

这是一个简单的JavaStringReader示例:

String input = "Input String... ";
StringReader stringReader = new StringReader(input);

int data = stringReader.read();
while(data != -1) {
  //do something with data...
  doSomethingWithData(data);

  data = stringReader.read();
}
stringReader.close();

此示例首先创建一个StringReader,然后将String作为参数传递给StringReader构造函数。其次,示例从StringReader一次读取一个字符。最后,StringReader被关闭。

关闭StringReader

可以使用如下的close()方法来关闭JavaStringReader

stringReader.close();

或者,我们可以使用Java 7 try-with-resources构造关闭StringReader。看起来是这样的:

try(StringReader stringReader =
    new StringReader(chars, offset, length)){

    int data = stringReader.read();
    while(data != -1) {
        //do something with data
        data = stringReader.read();
    }
}

注意,在StringReader上没有显式的close()调用。 try块可以解决这个问题。

但是,由于StringReader没有使用任何底层系统资源,例如文件或者网络套接字,因此关闭StringReader并不是至关重要的。