Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Основной ввод-вывод
Раздел: Файловый ввод-вывод (Обладающий NIO.2)
Другие Полезные Методы
Домашняя страница > Существенные Классы > Основной ввод-вывод

Другие Полезные Методы

Несколько полезных методов не соответствовали в другом месте в этом уроке и покрываются здесь. Этот раздел покрывает следующее:

Определение Типа MIME

Чтобы определить тип MIME файла, Вы могли бы найти probeContentType(Path) полезный метод. Например:

try {
    String type = Files.probeContentType(filename);
    if (type == null) {
        System.err.format("'%s' has an" + " unknown filetype.%n", filename);
    } else if (!type.equals("text/plain") {
        System.err.format("'%s' is not" + " a plain text file.%n", filename);
        continue;
    }
} catch (IOException x) {
    System.err.println(x);
}

Отметьте это probeContentType нуль возвратов, если тип контента не может быть определен.

Реализация этого метода является чрезвычайно определенной платформой и весьма ненадежна. Тип контента является determind детектором типа файла значения по умолчанию платформы. Например, если детектор определяет тип контента файла, чтобы быть application/x-java основанный на .class расширение, это можно было бы дурачить.

Можно обеспечить пользовательское FileTypeDetector если значение по умолчанию не достаточно для Ваших потребностей.

Email пример использует probeContentType метод.

Файловая система значения по умолчанию

Чтобы получить файловую систему значения по умолчанию, используйте getDefault метод. Как правило, это FileSystems метод (отмечают множественное число) объединяется в цепочку к одному из FileSystem методы (отмечают исключительное), следующим образом:

PathMatcher matcher =
    FileSystems.getDefault().getPathMatcher("glob:*.*");

Строковый Разделитель пути

Разделитель пути для файловых систем POSIX является наклонной чертой вправо, /, и поскольку Microsoft Windows является наклонной чертой влево, \. Другие файловые системы могли бы использовать другие разделители. Получать Path разделитель для файловой системы значения по умолчанию, можно использовать один из следующих подходов:

String separator = File.separator;
String separator = FileSystems.getDefault().getSeparator();

getSeparator метод также используется, чтобы получить разделитель пути для любой доступной файловой системы.

Хранилища файлов Файловой системы

У файловой системы есть одно или более хранилищ файлов, чтобы содержать ее файлы и каталоги. Хранилище файлов представляет базовое устройство хранения. В операционных системах UNIX каждая смонтированная файловая система представляется хранилищем файлов. В Microsoft Windows каждый объем представляется хранилищем файлов: C:, D:, и так далее.

Чтобы получить список всех хранилищ файлов для файловой системы, можно использовать getFileStores метод. Этот метод возвращается Iterable, который позволяет Вам использовать улучшенный для оператора, чтобы выполнить итерации по всем корневым каталогам.

for (FileStore store: FileSystems.getDefault().getFileStores()) {
   ...
}

Если Вы хотите к retrive хранилище файлов, где определенный файл располагается, используйте getFileStore метод в Files class, следующим образом:

Path file = ...;
FileStore store= Files.getFileStore(file);

DiskUsage пример использует getFileStores метод.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Наблюдение Каталога для Изменений
Следующая страница: Код Файлового ввода-вывода Наследства