要在Java中将InputStream转换为String,可以使用以下方法:
import java.io.InputStream;
import java.util.Scanner;
public class InputStreamToString {
public static void main(String[] args) {
InputStream inputStream = System.in; // 这里可以替换为您的InputStream实例
Scanner scanner = new Scanner(inputStream, "UTF-8").useDelimiter("\\A");
String result = scanner.hasNext() ? scanner.next() : "";
System.out.println(result);
}
}
首先,您需要将Apache Commons IO库添加到项目的依赖中。如果您使用Maven,可以将以下依赖添加到pom.xml文件中:
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
然后,您可以使用IOUtils类将InputStream转换为String:
import org.apache.commons.io.IOUtils;
import java.io.InputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class InputStreamToString {
public static void main(String[] args) {
InputStream inputStream = System.in; // 这里可以替换为您的InputStream实例
try {
String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
public class InputStreamToString {
public static void main(String[] args) {
InputStream inputStream = System.in; // 这里可以替换为您的InputStream实例
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
String result = bufferedReader.lines().collect(Collectors.joining("\n"));
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
这些方法都可以将InputStream转换为String。请注意,这些示例中使用的是UTF-8字符集,您可以根据需要更改字符集。
领取专属 10元无门槛券
手把手带您无忧上云