|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface UserDefinedFileAttributeView extends FileAttributeView
Это FileAttributeView обеспечивает представление определяемых пользователем атрибутов файла как ряд пар имя/значение, где название атрибута представляется a String. Реализация может потребовать, чтобы закодировать и декодировать с платформы или представления файловой системы, получая доступ к атрибуту. У значения есть непрозрачный контент. Это представление атрибута определяет read и write методы, чтобы считать значение в или запись от a ByteBuffer. Это FileAttributeView не предназначается для использования, где размер значения атрибута больше чем Integer.MAX_VALUE.
Определяемые пользователем атрибуты могут использоваться в некоторых реализациях, чтобы сохранить безопасность связанные атрибуты так следовательно, в случае провайдера значения по умолчанию, по крайней мере, все методы, которых доступ определяемые пользователем атрибуты требует RuntimePermission("accessUserDefinedAttributes") разрешение, когда менеджер безопасности устанавливается.
supportsFileAttributeView метод может использоваться, чтобы протестировать если определенное FileStore поддерживает хранение определяемых пользователем атрибутов.
Где динамический доступ к атрибутам файла требуется, getAttribute метод может использоваться, чтобы считать значение атрибута. Значение атрибута возвращается как байтовый массив (байт []). setAttribute метод может использоваться, чтобы записать значение определяемого пользователем атрибута от буфера (как будто, вызывая write метод), или байтовый массив (байт []).
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
delete(String name)
Удаляет определяемый пользователем атрибут.
|
List<String> |
list()
Возвращает список, содержащий имена определяемых пользователем атрибутов.
|
Строка |
name()
Возвращает имя этого представления атрибута.
|
int |
read(String name, ByteBuffer dst)
Считайте значение определяемого пользователем атрибута в буфер.
|
int |
size(String name)
Возвращает размер значения определяемого пользователем атрибута.
|
int |
write(String name, ByteBuffer src)
Пишет значение определяемого пользователем атрибута от буфера.
|
String name()
"user".name в интерфейсе AttributeViewList<String> list() throws IOException
IOException - Если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserDefinedAttributes") или checkRead метод отрицает доступ для чтения к файлу.int size(String name) throws IOException
name - Название атрибутаArithmeticException - Если размер атрибута больше чем Integer.MAX_VALUEIOException - Если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserDefinedAttributes") или checkRead метод отрицает доступ для чтения к файлу.int read(String name, ByteBuffer dst) throws IOException
Этот метод читает значение атрибута в данный буфер как последовательность байтов, перестав работать, если число байтов, остающихся в буфере, недостаточно, чтобы считать полное значение атрибута. Число байтов, переданных в буфер, n, где n размер значения атрибута. Первый байт в последовательности в, индексируют p и последний байт в, индексируют p + n - 1, где p позиция буфера. По возврату позиция буфера будет равна p + n; его предел не будет изменяться.
Пример использования: Предположите, что мы хотим считать тип MIME файла, который сохранен как определяемый пользователем атрибут с именем"user.mimetype".
UserDefinedFileAttributeView view =
Files.getFileAttributeView(path, UserDefinedFileAttributeView.class);
String name = "user.mimetype";
ByteBuffer buf = ByteBuffer.allocate(view.size(name));
view.read(name, buf);
buf.flip();
String value = Charset.defaultCharset().decode(buf).toString();
name - Название атрибутаdst - Целевой буферIllegalArgumentException - Если целевой буфер только для чтенияIOException - Если ошибка ввода-вывода происходит или есть недостаточное пространство в целевом буфере для значения атрибутаSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserDefinedAttributes") или checkRead метод отрицает доступ для чтения к файлу.size(java.lang.String)int write(String name, ByteBuffer src) throws IOException
Этот метод пишет значение атрибута от данного буфера как последовательность байтов. Размер значения, чтобы передать r, где r число байтов, остающихся в буфере, который является src.remaining(). Последовательность байтов передается от буферного запуска в, индексируют p, где p позиция буфера. По возврату позиция буфера будет равна p + n, где n число переданных байтов; его предел не будет изменяться.
Если атрибут имени уже существует тогда, его значение заменяется. Если атрибут не существует тогда, он создается. Если это реализация, определенная, если тест, чтобы проверить на существование атрибута и создание атрибута является атомарным с repect к другим действиям файловой системы.
Где есть недостаточное пространство, чтобы сохранить атрибут, или название атрибута или значение превышают реализацию определенный максимальный размер тогда IOException бросается.
Пример использования: Предположите, что мы хотим записать тип MIME файла как определяемый пользователем атрибут:
UserDefinedFileAttributeView view =
FIles.getFileAttributeView(path, UserDefinedFileAttributeView.class);
view.write("user.mimetype", Charset.defaultCharset().encode("text/html"));
name - Название атрибутаsrc - Буфер, содержащий значение атрибутаIOException - Если ошибка ввода-вывода происходитSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserDefinedAttributes") или checkWrite метод отрицает доступ для записи к файлу.void delete(String name) throws IOException
name - Название атрибутаIOException - Если ошибка ввода-вывода происходит, или атрибут не существуетSecurityException - В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission("accessUserDefinedAttributes") или checkWrite метод отрицает доступ для записи к файлу.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92