«В этом кратком руководстве мы собираемся проиллюстрировать, как преобразовать файл в средство чтения, используя обычную Java, Guava или Apache Commons IO. Давайте начнем.

Эта статья является частью серии «Java — Back to Basic» здесь, на Baeldung.

1. С Plain Java

Давайте сначала рассмотрим простое решение на Java:

@Test
public void givenUsingPlainJava_whenConvertingFileIntoReader_thenCorrect() 
  throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    initialFile.createNewFile();
    Reader targetReader = new FileReader(initialFile);
    targetReader.close();
}

2. С Guava

Теперь давайте посмотрим на то же преобразование, но на этот раз с использованием библиотеки Guava:

@Test
public void givenUsingGuava_whenConvertingFileIntoReader_thenCorrect() throws 
  IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    com.google.common.io.Files.touch(initialFile);
    Reader targetReader = Files.newReader(initialFile, Charset.defaultCharset());
    targetReader.close();
}

3. С Commons IO

И, наконец, давайте закончим пример кода Commons IO, выполняя преобразование через промежуточный байтовый массив:

@Test
public void givenUsingCommonsIO_whenConvertingFileIntoReader_thenCorrect() 
  throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    FileUtils.touch(initialFile);
    FileUtils.write(initialFile, "With Commons IO");
    byte[] buffer = FileUtils.readFileToByteArray(initialFile);
    Reader targetReader = new CharSequenceReader(new String(buffer));
    targetReader.close();
}

И вот оно – 3 способы преобразования файла в средство чтения — сначала с помощью простой Java, затем с помощью Guava и, наконец, с библиотекой ввода-вывода Apache Commons. Обязательно ознакомьтесь с образцом на GitHub.