Что импортировать для использования IOUtils.toString()?
Я пытаюсь использовать IOUtils.toString() для чтения из файла.
Тем не менее, я получаю сообщение об ошибке: "IOUtils не может быть разрешен".
Что я должен импортировать, чтобы позволить мне использовать эту функцию?
String everything = IOUtils.toString(inputStream);
Спасибо
Ответы
Ответ 1
import org.apache.commons.io.IOUtils;
Если вы все еще не можете импортировать в pom.xml, добавьте:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
или для прямого jar/gradle и т.д. visit:
http://mvnrepository.com/artifact/commons-io/commons-io/2.5
Также, поскольку версия 2.5 метода commons-io IOUtils.toString(inputStream) устарела. Вы должны использовать метод с кодировкой i.e.
IOUtils.toString(is, "UTF-8");
Ответ 2
import org.apache.commons.io.IOUtils;
Ответ 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();
}
Ответ 4
Ответ Fryta описывает, как на самом деле использовать IOUtils, а snj answer подходит для файлов.
Если вы используете Java 9 или новее и у вас есть входной поток для чтения, вы можете использовать InputStream # readAllBytes(). Просто создайте строку и не забудьте указать кодировку.
String s = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
Ответ 5
Вот код для преобразования InputStream в String в Java с помощью Apache IOUtils
Ссылка: 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);
Сообщите мне, если вам нужна дополнительная помощь.