以下是如何读取InputStream
并将其转换为String
的完整示例。涉及的步骤是:
1)我使用getBytes()
方法 将文件内容转换为字节之后,使用包含内部缓冲区的ByteArrayInputStream
初始化InputStream
,缓冲区包含可以从流中读取的字节。
2)使用InputStreamReader
读取InputStream
。
3)使用BufferedReader
读取InputStreamReader
。
4)将BufferedReader
读取的每一行附加到StringBuilder
对象上。
5)最后使用toString()
方法将StringBuilder
转换为String
。
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Example {
public static void main(String[] args) throws IOException {
InputStreamReader isr = null;
BufferedReader br = null;
InputStream is =
new ByteArrayInputStream("This is the content of my file".getBytes());
StringBuilder sb = new StringBuilder();
String content;
try {
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
while ((content = br.readLine()) != null) {
sb.append(content);
}
} catch (IOException ioe) {
System.out.println("IO Exception occurred");
ioe.printStackTrace();
} finally {
isr.close();
br.close();
}
String mystring = sb.toString();
System.out.println(mystring);
}
}
输出:
This is the content of my file