Перейти к основному содержимому

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

· 2 мин. чтения

Задача: Сумма двух чисел

Напишите функцию twoSum. Которая получает массив целых чисел nums и целую сумму target, а возвращает индексы двух чисел, сумма которых равна target. Любой набор входных данных имеет ровно одно решение, и вы не можете использовать один и тот же элемент дважды. Ответ можно возвращать в любом порядке...

ANDROMEDA

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

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

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

И, наконец, давайте закончим пример кода 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 .