Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Po_Tp.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.44 Mб
Скачать

3.5 Приложение FileDialogDemo

Задание. На основе приложения StreamDemo создать автономное приложение FileDialogDemo, в котором имя файла для чтения и записи содержимого области редактирования не задается статически в приложении, а выбирается пользователем при помощи соответствующих файловых диалогов. Для операций записи и чтения в файл использовать класс RandomAccessFile.

Методические указания. Приложение должно быть создано на основе приложения StreamDemo.

Обработка событий (метод handleEvent()).

При обработке событий от меню добавить выбор имени файла для открытия и выбор имени файла для сохранения (для этого использовать объекты класса FileDialog). Полученные от диалогов полные имена выбранных файлов сохранять в переменной path класса String.

Для чтения и записи в файл использовать не потоки dataIn и dataOut классов DataInputStream и DataOutputFile соответственно, а потоки dataIn и dataOut класса RandomAccessFile. Конструктору этого класса следует передать имя файла path и режим работы с файлом (чтение/запись) в соответствии с обрабатываем событием.

При записи в файл необходимо удалить вызов метода flush() для объекта dataOut, так как метод с таким именем отсутствует в классе RandomAccessFile.

Задания к лабораторной работе

Задание 1. Проверить и объяснить работу приложений StandAlone, TestInOut, рассматриваемых в данной главе в качестве примеров и отмеченных курсивом.

Задание 2. Создать приложения StreamDemo, DirList, FileDialogDemo и объяснить их работу.

Задание 3. Дать ответы на контрольные вопросы.

Контрольные вопросы

  1. Какие ограничения накладываются на апплеты при работе с файлами?

  2. Что необходимо сделать для создания автономного Java-приложения?

  3. Как организовать графический интерфейс пользователя в самостоятельных приложениях?

  4. С какими потоками может работать Java-приложение?

  5. Какие существуют базовые классы Java для работы с потоками и файлами?

  6. Какие классы Java являются производными от класса InputStream?

  7. Какие классы Java являются производными от класса OutputStream?

  8. Какие стандартные потоки ввода-вывода существуют в Java, каково их назначение? На базе каких классов создаются стандартные потоки?

  9. Чем является поток System.in? Какими методами чаще всего пользуются при работе с этим потоком?

  10. Чем является поток System.out? Какими методами чаще всего пользуются при работе с этим потоком?

  11. Чем является поток System.err? Какими методами чаще всего пользуются при работе с этим потоком?

  12. В чем заключается особенность создания потока, связанного с локальным файлом?

  13. Как создать поток для форматированного обмена данными, связанного с локальным файлом?

  14. Как добавить буферизацию для потока форматированного обмена данными, связанного с локальным файлом?

  15. Выполняется ли процессом «сборки мусора» автоматическое закрытие потоков, с которыми приложение завершило работу?

  16. За счет чего буферизация ускоряет работу приложений с потоками?

  17. Когда применяется принудительный сброс буферов?

  18. В каких случаях чаще всего используются потоки в оперативной памяти?

  19. Для выполнения каких операций применяется класс File?

  20. Для чего применяются фильтры файлов и как создать и использовать фильтр?

  21. Для чего предназначен класс RandomAccessFile? Чем он отличается от потоков ввода и вывода?

ЛАБОРАТОРНАЯ РАБОТА №8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]