使用 IOUtils.toString() 需要导入什么?

问题描述 投票:0回答:6

我正在尝试使用 IOUtils.toString() 从文件中读取。 但是,我收到一条错误消息“IOUtils 无法解析。”

我应该导入什么才能使用这个功能?

String everything = IOUtils.toString(inputStream);

谢谢

java apache io tostring
6个回答
54
投票

导入org.apache.commons.io.IOUtils;

如果仍然无法导入添加到pom.xml:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>

或者直接 jar/gradle 等访问: http://mvnrepository.com/artifact/commons-io/commons-io/2.5

此外,自 commons-io 方法 IOUtils.toString(inputStream) 2.5 版本以来,已弃用。您应该使用带有编码的方法,即

IOUtils.toString(is, "UTF-8");

14
投票

import org.apache.commons.io.IOUtils;


10
投票

Fryta 的答案概述了如何实际使用 IOUtils,snj 的答案对文件很有用。

如果您使用的是 java 9 或更高版本并且有一个输入流要读取,则可以使用 InputStream#readAllBytes()。只需从那里创建一个字符串,不要忘记指定字符集。

String s = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);

3
投票

或者您可以尝试以下方法。它对我来说可以读取资源服务器的公钥

        final Resource resource = new ClassPathResource("public.key");
        String publicKey = null;
        try {
            publicKey = new String(Files.readAllBytes(resource.getFile().toPath()), StandardCharsets.UTF_8);
        } catch (IOException e) {
            e.printStackTrace();
        }

1
投票

这里是如何使用 Apache IOUtils 在 Java 中将 InputStream 转换为字符串的代码

参考:https://commons.apache.org/proper/commons-io/javadocs/api-2.4/org/apache/commons/io/IOUtils.html

FileInputStream fis = new FileInputStream(FILE_LOCATION);
String StringFromInputStream = IOUtils.toString(fis, "UTF-8");
System.out.println(StringFromInputStream);

如果您需要更多帮助,请告诉我。


0
投票

需要以下进口声明:

导入org.apache.commons.io.IOUtils;

如果出现错误“导入 org.apache.commons.io 无法解析”,请将 commons-io-2.6.jar 添加到 项目 Java buildpath 和/或项目 lib 文件夹.

注意:建议导入“import org.apache.commons.io.IOUtils;”通常不会出现在 Eclipse IDE 中,至少在这个问题的上下文中。

© www.soinside.com 2019 - 2024. All rights reserved.