Java如何将InputStream转换为String?
本示例将向您展示如何将转换InputStream为String。在下面的代码片段中,我们读取了一个data.txt文件,该文件可以来自公共目录,也可以来自jar文件。
package org.nhooo.example.io;import java.io.*;
import java.nio.charset.StandardCharsets;
public class StreamToString {
public static void main(String[] args) throws Exception {
StreamToString demo = new StreamToString();
//获取我们的数据文件的输入流。该文件可以在
// 应用程序文件夹的根目录或jar文件中的根目录
// 如果程序打包为jar。
InputStream is = demo.getClass().getResourceAsStream("/data.txt");
// 调用方法将流转换为字符串
System.out.println(demo.convertStreamToString(is));
}
private String convertStreamToString(InputStream stream) throws IOException {
// 要将InputStream转换为String,我们使用
//Reader.read(char [] buffer)方法。我们迭代直到
// 读者返回-1,这意味着没有更多数据可发送
//读。我们使用StringWriter类生成字符串。
if (stream != null) {
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
Reader reader = new BufferedReader(new InputStreamReader(stream,
StandardCharsets.UTF_8));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
stream.close();
}
return writer.toString();
}
return "";
}
}
以上是 Java如何将InputStream转换为String? 的全部内容, 来源链接: utcz.com/z/321424.html