Считывание информации из файла одной строкой кода в JDK 7 или Java 8

java8_logo_white

Считать содержимое файла в Java непросто, необходимо использовать большое количество шаблонного кода, с которым мы уже сталкивались в предыдущем примере в статье считывание текстовых файлов. Нам приходилось делать «обертки» для многих вещей, например, помещать FileInputStream внутри BufferedReader, задавать циклы со странными условиями выхода и т.д. Начиная с JDK 7, ситуация значительно улучшилась. JDK предоставляет множество полезных классов, например Files и Paths, предназначенных для работы с файлами и путями к ним. В этой статье вы узнаете, как считать информацию из файла с помощью одной строки кода. Безусловно, ваш продакшн-код будет выглядеть иначе, особенно если вы считываете в память несколько гигабайт данных и при этом хотите учитывать кодировку. Если кодировка не выбрана, то используется кодировка платформы, заданная по умолчанию. Короче говоря, вам понадобится чуть больше кода, но для быстрого и грубого считывания файла этого способа будет достаточно. Кстати, если код будет содержать и обработку исключений, то он займет несколько строк. В готовом рабочем приложении вам нужно будет учитывать ситуацию, когда файл отсутствует, например, отображая пользователю сообщение об ошибке, отправляя метрики, сохраняя в журнал ошибку и т.д., но в любом случае в нем будет гораздо меньше шаблонного кода, чем в привычных для вас случаях.

Continue reading