| |
полняется методом isFile на принадлежность объекта к
файлам:
else if (fl.isFile())
System.out.println("File " + sFilePath + " is file");
На последнем этапе приложение определяет различные атрибуты файла или
каталога, вызывая соответствующие методы класса File:
System.out.println(
"Parent: " + fl.getParent() +
"\nLength: " + fl.length() +
"\nRead op. available: " + fl.canRead() +
"\nWrite op. available: " + fl.canWrite());
Параметры отображаются на консоли методом println.
Приложение DirList
В приложении DirList мы используем класс File для получения списка всех
файлов и каталогов, расположенных в заданном каталоге.
После запуска приложение DirList предлагает ввести путь к каталогу и маску
для имени файла (рис. 2.9).
Рис. 2.9. Работа приложения DirList
Если вместо маски задать символ ‘*’, как мы сделали это на рис. 2.9,
приложение выведет полный список файлов и каталогов, выделив каталоги
прописными буквами. В том случае, если будет задна другая маска, в окне
появятся только такие файлы, которые содержат эту маску как подстроку (рис. 2.
10).
Рис. 2.10. Просмотр содержимого каталога c:\dos с маской com
Исходный текст приложения
Исходный текст приложения DirList представлен в листинге 2.8.
Листинг 2.8. Файл DirList\DirList.java
// =========================================================
// Просмотр содержимого каталога при помощи класса File
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.io.*;
import java.util.*;
// =========================================================
// Класс DirList
// Главный класс приложения
// =========================================================
public class DirList
{
// -------------------------------------------------------
// main
// Метод, получающий управление при запуске приложения
// -------------------------------------------------------
public static void main(String args[])
{
// Массив для ввода строки с клавиатуры
byte bKbdInput[] = new byte[256];
// Путь к каталогу, содержимое которого
// мы будем просматривать
String sDirPath;
// Маска для просмотра
String sMask;
// Массив строк содержимого каталога
String[] dirlist;
try
{
// Выводим строку приглашения для ввода пути
// к каталогу, содержимое которого будем просматривать
System.out.println("Enter directory path...");
System.in.read(bKbdInput);
sDirPath = new String(bKbdInput, 0);
StringTokenizer st;
st = new StringTokenizer(sDirPath, "\r\n");
sDirPath = new String((String)st.nextElement());
// Вводим строку маски
System.out.println("Enter mask...");
System.in.read(bKbdInput);
sMask = new String(bKbdInput, 0);
st = new StringTokenizer(sMask, "\r\n");
sMask = new String((String)st.nextElement());
// Создаем объект класса File, соответствующий
// введен
|
|