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

3.4 Просмотр локальной файловой системы

Для того, чтобы позволить пользователю просматривать локальную файловую систему, предназначен класс FileDialog пакета java.awt, который создает экземпляр диалогового окна. Этот класс закрыт для апплетов; им совершенно незачем иметь доступ к файловой системе локального компьютера, на который они загружены. Самостоятельные же приложения могут использовать класс FileDialog.

Методы класса FileDialog

  • FileDialog(Frame parent, String title) - Конструктор, создает экземпляр класса, режим по умолчанию (FileDialog.LOAD)

  • FileDialog(Frame parent, String title,int mode) - Конструктор, создает экземпляр класса, режим задается (FileDialog.LOAD или FileDialog.SAVE)

  • getMode - Поучение режима диалога

  • setDirectory - Задает каталог диалога

  • setFile - При вызове до начала изображения диалога задает файл по умолчанию для диалога

  • getFile - Получает имя определенного файла

  • getDirectory - Получает имя каталога диалога

  • setFilenameFilter - Устанавливает фильтр имени файла

  • getFilenameFilter - Получает фильтр имени файла

Пользоваться классом FileDialog достаточно легко, его единственная задача - снабдить пользователя стандартным модальным диалоговым окном для просмотра файлов. Когда эта задача выполнена, применяется метод getFile(), чтобы получить имя файла, и метод getDirectory(), чтобы получить путь к файлу. Фактически файловый диалог не касается непосредственно системы файлов; он только делает доступным то, что выбрал пользователь.

Рассмотрим примеры использования класса FileDialog. Пусть в классе фрейма необходимо вызвать файловый диалог, тогда можно использовать следующие фрагменты кода:

// создание объекта и его использование

FileDialog dlg=new FileDialog(this,"Open File",FileDialog.LOAD);

dlg.setFile("*.txt"); // установка имени файла по умолчанию

if(!isVisible()) show(); // родительский фрейм должен быть видимым

dlg.show(); // отображение диалога

String path=dlg.getDirectory()+dlg.getFile(); // получить имя файла

// теперь можно создать входной поток, связанный с файлом,

// или создать объект класса RandomAccessFile для чтения

или

// создание объекта и его использование

FileDialog dlg=new FileDialog(this,"Save File",FileDialog.SAVE);

if(!isVisible()) show(); // родительский фрейм должен быть видимым

dlg.setFile("*.txt"); // установка имени файла по умолчанию

dlg.show(); // отображение диалога

String path=dlg.getDirectory()+dlg.getFile(); // получить имя файла

// теперь можно создать выходной поток, связанный с файлом,

// или создать объект класса RandomAccessFile для записи

Следует обратить внимание на проверку того, виден ли фрейм-родитель до отображения диалога: как и при работе со всеми диалоговыми окнами, фрейм-родитель должен быть активным до того, как производится попытка показать диалоговое окно.

Кроме установки режима можно изменить и поведение диалогового окна, задав FilenameFilter перед тем как диалог появится на экране. После создания нового класса и реализации в нем интерфейса FilenameFilter, объект этого класса можно передать классу FileDialog методом setFilenameFilter(), Этим можно ограничить выбор тех файлов, которые FileDialog предоставляет пользователю.

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