Шаг 95.
Язык программирования Java.
Класс FileReader

На этом шаге мы рассмотрим класс 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

Предыдущий шаг Содержание Следующий шаг