|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Несколько полезных методов не соответствовали в другом месте в этом уроке и покрываются здесь. Этот раздел покрывает следующее:
Чтобы определить тип 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 расширение, это можно было бы дурачить.
Можно обеспечить пользовательское если значение по умолчанию не достаточно для Ваших потребностей.
Чтобы получить файловую систему значения по умолчанию, используйте getDefault метод. Как правило, это FileSystems метод (отмечают множественное число) объединяется в цепочку к одному из FileSystem методы (отмечают исключительное), следующим образом:
PathMatcher matcher =
FileSystems.getDefault().getPathMatcher("glob:*.*");
Разделитель пути для файловых систем POSIX является наклонной чертой вправо, /, и поскольку Microsoft Windows является наклонной чертой влево, \. Другие файловые системы могли бы использовать другие разделители. Получать Path разделитель для файловой системы значения по умолчанию, можно использовать один из следующих подходов:
String separator = File.separator; String separator = FileSystems.getDefault().getSeparator();
метод также используется, чтобы получить разделитель пути для любой доступной файловой системы.
У файловой системы есть одно или более хранилищ файлов, чтобы содержать ее файлы и каталоги. Хранилище файлов представляет базовое устройство хранения. В операционных системах UNIX каждая смонтированная файловая система представляется хранилищем файлов. В Microsoft Windows каждый объем представляется хранилищем файлов: C:, D:, и так далее.
Чтобы получить список всех хранилищ файлов для файловой системы, можно использовать метод. Этот метод возвращается Iterable, который позволяет Вам использовать
for (FileStore store: FileSystems.getDefault().getFileStores()) {
...
}
Если Вы хотите к retrive хранилище файлов, где определенный файл располагается, используйте getFileStore метод в Files class, следующим образом:
Path file = ...; FileStore store= Files.getFileStore(file);