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
расширение, это можно было бы дурачить.
Можно обеспечить пользовательское 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
метод.