Исходный текст приложения FileInfo
Исходный текст приложения FileInfo приведен в листинге 2.7.
Листинг 2.7. Файл FileInfo\FileInfo.java
// =========================================================
// Просмотр атрибутов файла при помощи класса File
//
// (C) Фролов А.В, 1997
//
// E-mail: frolov@glas.apc.org
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.io.*;
import java.util.*;
// =========================================================
// Класс FileInfo
// Главный класс приложения
// =========================================================
public class FileInfo
{
// -------------------------------------------------------
// main
// Метод, получающий управление при запуске приложения
// -------------------------------------------------------
public static void main(String args[])
{
// Массив для ввода строки с клавиатуры
byte 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 <Enter> to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}