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

时间:2013-05-14 04:17:09

标签: java apache io tostring

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

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

String everything = IOUtils.toString(inputStream);

由于

5 个答案:

答案 0 :(得分:26)

导入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)已被弃用。你应该使用编码方法,即

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

答案 1 :(得分:2)

import org.apache.commons.io.IOUtils;

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

Fryta's answer概述了如何实际使用IOUtils,snj's answer对于文件很有用。

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

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

答案 4 :(得分:-2)

以下是如何使用Apache IOUtils将Java中的InputStream转换为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);

如果您需要更多帮助,请与我联系。