Содержание

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

Домашнее задание 3. Сумма чисел в файле

Сумма чисел в файле
  1. Разработайте класс SumFile, записывающий сумму чисел из входного файла в выходной файл.
  2. Числа во входном файле разделены переводами строк и/или пробельными символами.
  3. Имена входного и выходного файла задаются в качестве аргументов командной строки.
  4. Примеры работы программы:
    • Входной файл:
          1 2 3
      
      Выходной файл:
          6
      
    • Входной файл:
          1 2 -3
      
      Выходной файл:
          0
      
    • Входной файл:
          1 2
            3
      
      Выходной файл:
          6
      
  5. При выполнении задания можно считать что для представления входных данных и промежуточных результатов достаточен тип int.
  6. В этом и последующих домашних заданиях, метод main не должен выбрасывать никаких исключений при любых (в том числе некорректных) входных данных.
  7. В этом и последующих домашних заданиях, все ресурсы должны закрываться при любых (в том числе некорректных) входных данных.

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

Статистика слов
  1. Разработайте класс WordStat, который будет подсчитывать статистику встречаемости слов во входном файле.
  2. Словом называется неперывная последовательность букв, апострофов и тире (Unicode category Punctuation, Dash). Для подсчета статистики, слова приводятся к нижнему регистру.
  3. Выходной файл должен содержать все различные слова, встречающиеся во входном файле, в порядке их появения. Для каждого слова должна быть выведена одна строка, содежащая слово и число его вхождений во входной файл.
  4. Имена входного и выходного файла задаются в качестве аргументов командной строки. Кодировка файлов: UTF-8.
  5. Примеры работы программы:
    • Входной файл:
          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.  The Java Language Specification. Arrays
  3. Шилдт Г. Java 8. Полное руководство (главы 10 и 20)
  4. Шилдт Г. Java 8: руководство для начинающих (главы 9 и 10)
  5. Эккель Б. Философия Java (4 издание) (главы 12 и 18)