| |
bKbdInput[] = new byte[256];
// Введенная строка
String sFilePath;
try
{
// Выводим строку приглашения
System.out.println("Enter file path...");
// Читаем с клавиатуры строку для записи в файл
System.in.read(bKbdInput);
// Преобразуем введенные символы в строку типа String
sFilePath= new String(bKbdInput, 0);
// Отбрасываем символ конца строки
StringTokenizer st;
st = new StringTokenizer(sFilePath, "\r\n");
sFilePath = new String((String)st.nextElement());
// Создаем объект класса File, соответствующий
// введенному пути
File fl = new File(sFilePath);
// Если указанный файл или каталог не существует,
// выводим сообщение и завершаем работу
if(!fl.exists())
{
System.out.println("File not found: " + sFilePath);
}
// Если путь существует, определяем параметры
// соответствующего файла или каталога
else
{
// Проверяем, был указан файл или каталог
if(fl.isDirectory())
System.out.println("File " + sFilePath +
" is directory");
else if (fl.isFile())
System.out.println("File " + sFilePath +
" is file");
// Получаем и выводим атрибуты файла или каталога
System.out.println(
"Parent: " + fl.getParent() +
"\nLength: " + fl.length() +
"\nRead op. available: " + fl.canRead() +
"\nWrite op. available: " + fl.canWrite());
}
System.out.println("Press to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
Описание исходного текста
После ввода с клавиатуры пути к файлу или каталогу приложение записывает
введенный путь в строку sFilePath класса String.
Так как в этой строке имеется символ конца строки, нам нужно его отрезать.
Для этого мы воспользуемся классом StringTokenizer, задав для него в качестве
разделителя символ конца строки:
StringTokenizer st;
st = new StringTokenizer(sFilePath, "\r\n");
sFilePath = new String((String)st.nextElement());
Первый же вызов метода nextElement возвращает нам строку пути, которую мы и
сохраняем в поле sFilePath.
Далее мы создаем объект класса File, передавая конструктору этого класса
строку sFilePath:
File fl = new File(sFilePath);
Так как при вводе пути файла или каталога вы можете допустить ошибку,
приложение, прежде чем продолжать свою работу, проверяет существование
указанного файла или каталога. Для проверки вызывается метод exists,
определенный в классе File:
if(!fl.exists())
{
System.out.println("File not found: " + sFilePath);
}
На следующем этапе приложение проверяет, является ли объект класса File
каталогом, вызвая метод isDirectory:
if(fl.isDirectory())
System.out.println("File " + sFilePath + " is directory");
Аналогичная проверка в
|
|