Чтение онлайн

на главную - закладки

Жанры

Основы программирования на Java

Сухов С. А.

Шрифт:

p(fl.canRead ? "можно читать" : "нельзя читать");

p("is" + ("Директория? "+fl ,isDirectory ? "да": " нет");

p(fl.isFile ? "обычный файл" : "не обычный файл");

р("Последняя модификация файла:" + fl. lastModified);

р("Размер файла:" + fl.length + " Bytes");

}

}

При запуске этой программы вы получите:

Имя файла: COPYRIGHT

Путь: /java/COPYRIGHT

Полный
путь:/Java/COPYRIGHT

Родительский каталог:/java

существует

можно записывать

можно читать

Директория? нет

обычный файл

is absolute

Последняя модификация файла:812465204000

Размер файла:695 Bytes

Существует также несколько сервисных методов, использование которых ограничено обычными файлами (их нельзя применять к каталогам). Метод renameTo(File dest) переименовывает файл (нельзя переместить файл в другой каталог). Метод delete уничтожает дисковый файл. Этот метод может удалять только обычные файлы, каталог, даже пустой, с его помощью удалить не удаётся.

11.2. Каталоги

Каталоги — это объекты класса File, в которых содержится список других файлов и каталогов. Если File ссылается на каталог, его метод isDirectoiy возвращает значение true. В этом случае вы можете вызвать метод list и извлечь содержащиеся в объекте имена файлов и каталогов. В очередном примере показано, как с помощью метода list можно просмотреть содержимое каталога.

import j ava.io.File;

class DirList {

public static void main(String args[]) {

String dirname = "/java"; // имя каталога

File fl = new File(dirname);

if (fLisDirectory) {

// является ли fl каталогом

System.out.println("Directory of' + dirname);

String s[]=fl.list;

for (int i=0; i < s.length; i++) {

File f = new File(dirname + "/" + s[i]);

if(fisDiiectory)

{

// является ли f каталогом

System.out.println(s[i] +” is a directory"):

}

else {

System.out.println(s[i] + " is a file");

}

}

}

else {

System.out.println(dirname + " is not a directory");

}

}

}

В процессе работы эта программа вывела содержимое каталога /java моего персонального

компьютера в следующем виде:

С:\> java DirList

Directory of /java

bin is a directory COPYRIGHT is a file

README is a file

11.3. Класс InputStream

InputStream — абстрактный класс, задающий используемую в Java модель входных потоков. Все методы этого класса при возникновении ошибки возбуждают исключение IOException. Ниже приведен краткий обзор методов класса InputStream.

1. read - возвращает представление очередного доступного символа во входном потоке в виде целого;

2. read(byte b[]) - пытается прочесть максимум b.length байтов из входного потока в массив b. Возвращает количество байтов, в действительности прочитанных из потока;

3. read(byte b[], int off, int len) - пытается прочесть максимум len байтов, расположив их в массиве Ь, начиная с элемента off. Возвращает количество реально прочитанных байтов;

4. skip(long n) - пытается пропустить во входном потоке n байтов. Возвращает количество пропущенных байтов;

5. available - возвращает количество байтов, доступных для чтения в настоящий момент;

6. close - закрывает источник ввода. Последующие попытки чтения из этого потока приводят к возбуждению IOException. 11.4. Класс OutputStream

Как и InputStream, OutputStream — абстрактный класс. Он задает модель выходных потоков Java. Все методы этого класса имеют тип void и возбуждают исключение IOException в случае ошибки. Ниже приведен список методов этого класса:

1. write(int b) записывает один байт в выходной поток. Обратите внимание, что аргумент этого метода имеет тип int, что позволяет вызывать write, передавая ему выражение, при этом не нужно выполнять приведение его типа к byte;

2. write(byte b[]) записывает в выходной поток весь указанный массив байтов;

3. write(byte b[], int off, int len) записывает в поток часть массива — len байтов, начиная с элемента b[off];

4. flush очищает любые выходные буферы, завершая операцию вывода;

5. close закрывает выходной поток. Последующие попытки записи в этот поток будут возбуждать IOException.

11.5. Файловый поток FilelnputStream

Класс FilelnputStream используется для ввода данных из файлов. В приведенном ниже примере создается два объекта этого класса, использующие один и тот же дисковый файл.

InputStream f0 = new FileInputStream(“/autoexec.bat");

File f = new File("/autoexec.bat"):

InputStream f1 = new FilelnputStream(f);

Когда создается объект класса FilelnputStream, он одновременно с этим открывается для чтения. FilelnputStream замещает шесть методов абстрактного класса InputStream. В приведенном ниже примере показано, как можно читать одиночные байты, массив байтов и поддиапазон массива байтов. В этом примере также показано, как методом available можно узнать, сколько еще осталось непрочитанных байтов и как с помощью метода skip можно пропустить те байты, которые вы не хотите читать,

Поделиться:
Популярные книги

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

Законы Рода. Том 13

Андрей Мельник
13. Граф Берестьев
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 13

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Цвет сверхдержавы - красный. Трилогия

Симонов Сергей
Цвет сверхдержавы - красный
Фантастика:
попаданцы
альтернативная история
8.06
рейтинг книги
Цвет сверхдержавы - красный. Трилогия

Болтливый мертвец

Фрай Макс
7. Лабиринты Ехо
Фантастика:
фэнтези
9.41
рейтинг книги
Болтливый мертвец

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь