繁体   English   中英

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

[英]What to import to use IOUtils.toString()?

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

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

String everything = IOUtils.toString(inputStream);

谢谢

import 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

此外,因为版本2.5的commons-io方法IOUtils.toString(inputStream)已被弃用。 你应该使用编码方法ie

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

Fryta 的回答概述了如何实际使用 IOUtils,而snj 的回答适用于文件。

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

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

import org.apache.commons.io.IOUtils;

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

        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();
        }

需要以下导入语句:

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

如果出现错误“ The import org.apache.commons.io cannot be resolved ”,请将commons-io-2.6.jar添加到项目 Java buildpath和/或项目lib 文件夹中。

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

以下是如何使用Apache IOUtils将InputStream转换为Java中的String的代码

参考: 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);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM