Тема  3. Ввод-вывод и исключения

Содержание

  1. Исключения
    1. try-catch
    2. Проверяемые исключения, throws
    3. Обработка исключений
      1. Несколько catch-блоков
      2. Сообщения об ошибках
      3. Стек исполнения
  2. Ресурсы
    1. Закрытие и утечка ресурсов
    2. try-catch-finally
    3. Блок использования ресурса
    4. Использование нескольких ресурсов одновременно
  3. Кодировки
    1. Кодировка по-умолчанию
    2. Явное указание кодировки
  4. Readers
    1. Reader
    2. FileReader
    3. BufferedReader
    4. InputStreamReader
    5. InputStream
  5. Writers
    1. Writer
    2. FileWriter
    3. BufferedWriter
    4. OutputStreamWriter
    5. OutputStream
    6. PrintWriter

Домашнее задание 4. Статистика слов

  1. Разработайте класс WordStatInput, подсчитывающий статистику встречаемости слов во входном файле.
  2. Словом называется непрерывная последовательность букв, апострофов (') и дефисов (Unicode category Punctuation, Dash). Для подсчета статистики слова приводятся к нижнему регистру.
  3. Выходной файл должен содержать все различные слова, встречающиеся во входном файле, в порядке их появления. Для каждого слова должна быть выведена одна строка, содержащая слово и число его вхождений во входном файле.
  4. Имена входного и выходного файла задаются в качестве аргументов командной строки. Кодировка файлов: UTF-8.
  5. Чтение должно быть реализовано в блочном режиме с использованием Reader.
  6. Примеры работы программы:
    Входной файлВыходной файл
    To be, or not to be, that is the question:
    
    to 2
    be 2
    or 1
    not 1
    that 1
    is 1
    the 1
    question 1
    
    Monday's child is fair of face.
    Tuesday's child is full of grace.
    
    monday's 1
    child 2
    is 2
    fair 1
    of 2
    face 1
    tuesday's 1
    full 1
    grace 1
    
    Шалтай-Болтай
    Сидел на стене.
    Шалтай-Болтай
    Свалился во сне.
    
    шалтай-болтай 2
    сидел 1
    на 1
    стене 1
    свалился 1
    во 1
    сне 1
    

Примеры

zip

Практические навыки

  1. Обработка исключений
  2. Управление ресурсами
  3. Чтение текстовых файлов
  4. Запись текстовых файлов

Библиография

  1.  Java Tutorial. Basic IO
  2. Шилдт Г. Java 9. Полное руководство (главы 10 и 20)
  3. Шилдт Г. Java 9. Руководство для начинающих (главы 9 и 10)
  4. Эккель Б. Философия Java (4 издание) (главы 12 и 18)