Java StringReader 类

  • 它用于读取源为字符串的字符流。
  • 它是java.io包的一部分。
  • 它扩展了抽象类 Reader
  • 它实现了 CloseableAutoCloseableReadable接口。
  • 它提供了从流中读取字符的方法。
欢迎 on it road

关闭一个 StringReader

StringReader上调用 close()方法会关闭流并释放与其关联的所有系统资源。

stringReader.close();

尽管如果没有关闭,StringReader不会造成太多麻烦,因为它不会打开任何到文件或者网络套接字的连接。

Java StringReader

Java StringReader类表示一个字符流,其源是一个字符串。
这个类的主要用途是将一个String内容传递给一个接受Reader类型参数的方法。

创建一个 StringReader

要在应用程序中使用 StringReader,我们必须首先使用 import 语句从包 java.io中导入它。
要创建 StringReader 的实例,请使用其构造函数之一。

在下面给出的示例中,StringReader将从字符串 data中读取字符。

import java.io.StringReader;
//Create an instance in the application code
String data = "humpty dumpty";
StringReader stringReader = new StringReader(data);

Java StringReader 示例

示例 1:使用 StringReader 读取和打印字符串的字符

import java.io.IOException;
import java.io.StringReader;
public class StringReaderExample 
{
	public static void main(String[] args) throws IOException 
	{
		String data = "humpty dumpty";
		try (StringReader stringReader 
				= new StringReader(data)) 
		{
			int ch = stringReader.read();
			while (ch != -1) 
			{
				System.out.print((char)ch);
				ch = stringReader.read();
			}
		}
	}
}

示例 2:在 JAXB XML 解析中使用 StringReader

在给定的示例中,我们希望将 XML 字符串(通常作为 API 响应获得)解析为 JAXB Document对象。
parse()方法接受 Reader类型,因此我们使用 StringReader来包装 String 响应并将其传递给 parse()方法。

private Document parseXmlString(String xml) throws Exception  
{
	DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
	factory.setNamespaceAware(true);
	DocumentBuilder documentBuilder = factory.newDocumentBuilder();
	InputSource inputSource = new InputSource(new StringReader(xml));
	return documentBuilder.parse(inputSource);
}
日期:2020-09-17 00:09:38 来源:oir作者:oir