Главная » Просмотр файлов » К. Арнольд, Д. Гослинг - Язык программирования Java

К. Арнольд, Д. Гослинг - Язык программирования Java (1160779), страница 47

Файл №1160779 К. Арнольд, Д. Гослинг - Язык программирования Java (К. Арнольд, Д. Гослинг - Язык программирования Java) 47 страницаК. Арнольд, Д. Гослинг - Язык программирования Java (1160779) страница 472019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 47)

Если параметр равен null, возбуждается исключение NullPointerException.public File(String dirName, String name)Создает объект File для работы с файлом name, находящимся в каталоге dirName. Если параметр dirName равен null, используется толькокомпонент name. В противном случае вызов конструктора эквивалентен следующему:File(dirname + File.separator + name)public File(File fileDir, String name)Создает объект File для заданного объекта-каталога fileDir типа File и файла с именем name. Вызов конструктора эквивалентен следующему:File(fileDir.getPath(), name)Четыре метода get предназначены для получения информации о компонентах полного имени объекта File. В приведенном ниже фрагментепрограммы вызывается каждый из этих методов:File src = new File("ok", "FileMethods");System.out.println("getName() = " + src.getName());System.out.println("getPath() = " + src.getPath());System.out.println("getAbsolutePath() = "+ src.getAbsolutePath());System.out.println("getParent() = " + src.getParent());Вот как выглядит результат работы программы:getName() = FileMethodsgetPath() = ok/FileMethodsgetAbsolutePath() = /vob/java_prog/src/ok/FileMethodsgetParent() = okНесколько методов возвращают логические значения, которые характеризуют файл, представленный объектом File:●●●●●●exists: возвращает true, если файл существует в файловой системе.canRead: возвращает true, если файл существует и доступен для чтения.canWrite: возвращает true, если файл существует и доступен для записи.isFile: возвращает true, если файл существует и является обычным (то есть не каталогом или файлом особого типа).isDirectory: возвращает true, если файл является каталогом.isAbsolute: возвращает true, если путь представляет собой полное имя файла.Класс File содержит и другие полезные методы:public long lastModified()Возвращает дату последней модификации файла.

Возвращаемое значение должно использоваться только для сравнения дат последнихмодификаций различных файлов и для выяснения того, редактировался ли некоторый файл после другого, а также для проверки того,модифицировался ли файл вообще. Временем последней модификации файла не следует пользоваться для других целей.public long length()Возвращает длину файла в байтах.public boolean mkdir()Создает каталог и возвращает true в случае успеха.public boolean mkdirs()Создает все каталоги, входящие в заданный путь, и возвращает true в случае успеха.

Метод обеспечивает возникновение конкретного каталога,даже если для этого потребуется создать другие, не существующие в данный момент каталоги, которые находятся выше в иерархии.public boolean renameTo(File new_name)Переименовывает файл и возвращает true в случае успеха.public boolean delete()Удаляет файл или каталог, представленный объектом File, и возвращает true в случае успеха.public String[] list()Возвращает список файлов в каталоге.

Если объект File представляет собой не каталог, а нечто иное, передается null; в противном случаевозвращается массив с именами файлов. Список содержит все файлы каталога, за исключением эквивалентов “.” и “..” (текущий и родительскийкаталоги соответственно).public String[] list(FilenameFilter filter)Использует заданный фильтр для составления списка файлов в каталоге (см. ниже раздел “Интерфес Filename Filter”).Переопределенный метод File.equals заслуживает особого упоминания.

Два объекта File считаются равными в том случае, если совпадают ихполные имена, а не в том, если они представляют один и тот же файл в системе. Метод File.equals не может применяться для выяснения того,соответствуют ли два объекта File одному и тому же файлу.Для создания файлов используются объекты классов FileOutputStream или RandomAccessFile, а не объекты класса File.Наконец, остается упомянуть, что символ File.pathSeparatorChar и строка File.pathSeparator представляют символ, разделяющий каталоги илифайлы в полном имени.

Например, в системе UNIX для разделения компонентов полного имени используется двоеточие: “.:/bin:/usr/bin”.Следовательно, в системе UNIX символ pathSepar a torChar представляет собой двоеточие.Полное имя файла хранится в защищенном строковом поле с именем String. Подклассы File могут при необходимости непосредственнообращаться к этому полю или модифицировать его.Упражнение 11.9Напишите метод, который получает в качестве параметра полное имя файла и выводит всю информацию о соответствующем файле (если онсуществует).11.19. Интерфейс FilenameFilterИнтерфейс FilenameFilter позволяет создавать объекты, которые фильтруют списки файлов и удаляют из них ненужные. Он содержит всего одинметод:boolean accept(File dir, String name)Возвращает true, если файл с именем name в каталоге dir должен входить в отфильтрованный список.В следующем примере объект FilenameFilter используется для того, чтобы в список включались только каталоги:import java.io.*;class DirFilter implements FilenameFilter {public boolean accept(File dir, String name) {return new File(dir, name).isDirectory();}}public static void main(String[] args) {File dir = new File(args[0]);String[] files = dir.list(new DirFilter());System.out.println(files.length + "dir(s):");for (int i = 0; i << files.length; i++)System.out.println("\t" + files[i]);}Сначала мы создаем объект File, который представляет собой каталог, указанный в командной строке.

Затем мы конструируем объект DirFilter ипередаем его в качестве параметра методу list. Для каждого имени, входящего в каталог, list вызывает метод accept объекта-фильтра и включаетимя в список лишь в том случае, если объект-фильтр возвращает true. Для нашего метода accept значение true показывает, что имя соответствуеткаталогу.Упражнение 11.10С помощью интерфейса FilenameFilter напишите программу, которая получает в качестве параметров имя каталога и расширение файла ивыводит список всех файлов каталога с заданным расширением.11.20. Классы IOExceptionДля сообщений обо всех ошибках ввода/вывода, обнаруженных классами пакета java.io, должны использоваться исключения, являющиесяподклассом IOException.

Большинство классов проектировалось для целей общего назначения, так что основная часть исключений также носитуниверсальный характер. Например, методы класса InputStream, возбуждающие IOException, не могут заранее предсказать, какие именновозникнут исключения, так как каждый конкретный потоковый класс может возбудить некоторый подкласс IOException, сигнализируя тем самымоб ошибке, относящейся лишь к этому потоку. Например, фильтрующие входные и выходные потоки лишь передают без обработки исключенияот объектов, на основе которых они создавались и которые могут представлять собой потоки любого типа.В пакете java.io используются четыре подкласса IOException:EOFException extends IOExceptionВозбуждается интерфейсами потоков данных при достижении конца ввода, как запланированном, так и неожиданном.FileNotFoundException extends IOExceptionВозбуждается конструкторами файловых потоков, если файл, имя которого передается в качестве параметра, не найден.InterruptedIOException extends IOExceptionВозбуждается любым потоком, когда в операцию ввода/вывода вмешивается прерывание программного потока (см.

раздел “Прерываниепотока”). Фактически операции ввода/вывода переводят исключение InterruptedException в InterruptedIO Exception.UTFDataFormatException extends IOExceptionВозбуждается методом DataInputStream.readUTF, если считываемая строка имеет неверный синтаксис UTF.Если не считать этих конкретных исключений, то для сообщений обо всех особых состояниях в java.io используется исключение IOException,содержащее строку с описанием конкретной ошибки — например, использование несоединенного конвейерного потока или попытка отката нанесколько символов назад в потоке PushbackInputStream.Содержание | Далее© 1997-2002 Издательский дом "Питер". Авторские права охраняются.Предназначено только для частного использования!Воспроизведение материалов или частей данной книги в любом виде без письменного разрешения Издательского дома "Питер" запрещено!Глава 12СТАНДАРТНЫЕ ВСПОМОГАТЕЛЬНЫЕ СРЕДСТВАКомпьютеры бесполезны —они могут только давать ответы.Пабло ПикассоПакет java.util содержит ряд стандартных вспомогательных интерфейсов и классов.

Характеристики

Тип файла
PDF-файл
Размер
1,1 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее