Рубрики
Без рубрики

Java – файл для чтения

Как преобразовать файл в программу чтения с помощью Java, Guava и библиотеки ввода-вывода Apache Commons.

Автор оригинала: Eugen Paraschiv.

В этом кратком руководстве мы проиллюстрируем как преобразовать Файл в Читатель с помощью обычного ввода-вывода Java, Guava или Apache Commons. Давайте начнем.

Эта статья является частью серии “Java – назад к основному” здесь, в Баельдунге.

1. С Помощью Простой 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. С Гуавой

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

@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, выполнив преобразование с помощью промежуточного массива байтов:

@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 .