import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class InputStreamToString {
public static String convertUsingBufferedReader(InputStream inputStream) throws IOException {
StringBuilder result = new StringBuilder();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
String line;
while ((line = reader.readLine()) != null) {
result.append(line).append("\n");
}
}
// 去除最后多余的空行
if (result.length() > 0) {
result.setLength(result.length() - 1);
}
return result.toString();
}
// 逐行读取,保留行结构
public static String convertWithLineBreaks(InputStream inputStream) throws IOException {
StringBuilder result = new StringBuilder();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
String line;
boolean firstLine = true;
while ((line = reader.readLine()) != null) {
if (!firstLine) {
result.append(System.lineSeparator());
}
result.append(line);
firstLine = false;
}
}
return result.toString();
}
}