На этом шаге мы рассмотрим класс FileReader
Этот класс является производным от класса Reader и служит для чтения содержимого файла. Ниже приведены два наиболее употребительных конструктора этого класса.
FileReader(String pathname); FileReader(File file);
Здесь параметр pathname обозначает имя полного пути к файлу, а параметр file – объект типа File, описывающий файл. Оба конструктора могут сгенерировать исключение типа FileNotFoundException.
В приведенном ниже примере программы показано, как организовать построчное чтение и запись данных из файла в стандартный поток вывода. Программа читает исходный файл, путь до которого передается в командной строке.
import java.io.*; /** * Пример использования класса FileReader * */ public class Main { private static File file; /** * Функция для проверки переданных аргументов командной строки * @param args аргументы командной строки * @return true, если мы корректно передали неообходимые аргументы, * и false в противном случае * */ private static boolean checKArgs(String[] args) { /*Провераяем что мы передали путь к файлу*/ if (args.length == 0) { System.out.println("Введите путь к файлу"); return false; } String fileName = args[0]; file = new File(fileName); /*Проверяем, что мы передали путь к существующему файлу*/ if (!file.exists()) { System.out.println("Заданный файл не существует"); return false; } return true; } public static void main(String[] args) { /*Проверяем аргументы командной строки*/ if (checKArgs(args)) { try (FileReader fileReader = new FileReader(file)) { /*Создаем буфер для чтения*/ char[] buffer = new char[1024]; /*читаем символы из файла и выводим их на экран*/ while (fileReader.read(buffer) != -1) { System.out.print(buffer); } } catch (IOException ignore) {} } } }
Проект можно взять здесь
Рис. 1. Вывод программы
На следующем шаге мы рассмотрим класс FileWriter