簡體   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