首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Java中读取/转换InputStream为String?

要在Java中将InputStream转换为String,可以使用以下方法:

  1. 使用Scanner类:
代码语言:java
复制
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);
    }
}
  1. 使用Apache Commons IO库:

首先,您需要将Apache Commons IO库添加到项目的依赖中。如果您使用Maven,可以将以下依赖添加到pom.xml文件中:

代码语言:xml<dependency>
复制
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.11.0</version>
</dependency>

然后,您可以使用IOUtils类将InputStream转换为String:

代码语言:java
复制
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();
        }
    }
}
  1. 使用Java 8的Stream API:
代码语言:java
复制
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字符集,您可以根据需要更改字符集。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券