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

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

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

Эта статья является частьюthe “Java – Back to Basic” series здесь для примера.

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. С гуавой

Теперь - давайте посмотрим на то же преобразование, на этот раз с использованием библиотеки 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, выполняя преобразование через промежуточный массив байтов:

@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 ways to convert a File into a Reader - сначала с простой Java, затем с Guava и, наконец, с библиотекой ввода-вывода Apache Commons.