Java 主流的 Inputstream 转 String 的方法
在Java中,将InputStream
转换为String
的常用方法是使用java.util.Scanner
或java.io.BufferedReader
配合java.io.InputStreamReader
。以下是一个使用Scanner
的示例:
import java.io.InputStream;
import java.util.Scanner;
public class InputStreamToString {
public static String convert(InputStream inputStream) {
Scanner scanner = new Scanner(inputStream).useDelimiter("\\A");
return scanner.hasNext() ? scanner.next() : "";
}
public static void main(String[] args) {
// 示例:从某个输入流获取字符串
// InputStream inputStream = ...;
// String str = convert(inputStream);
// 打印字符串
// System.out.println(str);
}
}
使用BufferedReader
的示例:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
public class InputStreamToString {
public static String convert(InputStream inputStream) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
return stringBuilder.toString();
}
public static void main(String[] args) {
// 示例:从某个输入流获取字符串
// InputStream inputStream = ...;
// String str = "";
// try {
// str = convert(inputStream);
// } catch (IOException e) {
// e.printStackTrace();
// }
// 打印字符串
// System.out.println(str);
}
}
这两种方法都可以将InputStream
的内容转换为String
。选择哪种方法取决于具体需求,例如是否需要处理大量数据或是简单的文本读取。
评论已关闭