# DosFileAttributeView

public interface **DosFileAttributeView** implements [BasicFileAttributeView](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html) A file attribute view that provides a view of the legacy "DOS" file attributes.
These attributes are supported by file systems such as the File Allocation
Table (FAT) format commonly used in *consumer devices*.

A `DosFileAttributeView` is a `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html` that
additionally supports access to the set of DOS attribute flags that are used
to indicate if the file is read-only, hidden, a system file, or archived.

Where dynamic access to file attributes is required, the attributes
supported by this attribute view are as defined by `BasicFileAttributeView`, and in addition, the following attributes are
supported:
>
> | Name | Type |
> |---|---|
> | readonly | `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Boolean.html` |
> | hidden | `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Boolean.html` |
> | system | `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Boolean.html` |
> | archive | `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Boolean.html` |

The `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/Files.html#getAttribute(java.nio.file.Path,%20java.lang.String,%20java.nio.file.LinkOption...)` method may
be used to read any of these attributes, or any of the attributes defined by
`https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html` as if by invoking the `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#readAttributes()` method.

The `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/Files.html#setAttribute(java.nio.file.Path,%20java.lang.String,%20java.lang.Object,%20java.nio.file.LinkOption...)` method may
be used to update the file's last modified time, last access time or create
time attributes as defined by `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html`. It may also be
used to update the DOS attributes as if by invoking the `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setReadOnly(boolean)`, `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setHidden(boolean)`, `https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setSystem(boolean)`, and
`https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setArchive(boolean)` methods respectively.

### Public Method Summary

|---|---|
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [name](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#name())() Returns the name of the attribute view. |
| abstract [DosFileAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributes.html) | [readAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#readAttributes())() Reads the basic file attributes as a bulk operation. |
| abstract void | [setArchive](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setArchive(boolean))(boolean value) Updates the value of the archive attribute. |
| abstract void | [setHidden](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setHidden(boolean))(boolean value) Updates the value of the hidden attribute. |
| abstract void | [setReadOnly](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setReadOnly(boolean))(boolean value) Updates the value of the read-only attribute. |
| abstract void | [setSystem](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributeView.html#setSystem(boolean))(boolean value) Updates the value of the system attribute. |

### Inherited Method Summary

From interface [java.nio.file.attribute.BasicFileAttributeView](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html)

|---|---|
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [name](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html#name())() Returns the name of the attribute view. |
| abstract [BasicFileAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributes.html) | [readAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html#readAttributes())() Reads the basic file attributes as a bulk operation. |
| abstract void | [setTimes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/BasicFileAttributeView.html#setTimes(java.nio.file.attribute.FileTime,%20java.nio.file.attribute.FileTime,%20java.nio.file.attribute.FileTime))(FileTime lastModifiedTime, FileTime lastAccessTime, FileTime createTime) Updates any or all of the file's last modified time, last access time, and create time attributes. |

From interface [java.nio.file.attribute.AttributeView](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/AttributeView.html)

|---|---|
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [name](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/AttributeView.html#name())() Returns the name of the attribute view. |

## Public Methods

#### public abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**name**
()

Returns the name of the attribute view. Attribute views of this type
have the name `"dos"`.

##### Returns

- the name of the attribute view

#### public abstract [DosFileAttributes](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/attribute/DosFileAttributes.html)
**readAttributes**
()

Reads the basic file attributes as a bulk operation.

It is implementation specific if all file attributes are read as an
atomic operation with respect to other file system operations.

##### Returns

- the file attributes

##### Throws

| [IOException](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html) |   |
| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) |   |
|---|---|

#### public abstract void
**setArchive**
(boolean value)

Updates the value of the archive attribute.

It is implementation specific if the attribute can be updated as an
atomic operation with respect to other file system operations. An
implementation may, for example, require to read the existing value of
the DOS attribute in order to update this attribute.

##### Parameters

| value | the new value of the attribute |
|---|---|

##### Throws

| [IOException](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html) | if an I/O error occurs |
| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) | In the case of the default, and a security manager is installed, its `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityManager.html#checkWrite(java.lang.String)` method is invoked to check write access to the file |
|---|---|

#### public abstract void
**setHidden**
(boolean value)

Updates the value of the hidden attribute.

It is implementation specific if the attribute can be updated as an
atomic operation with respect to other file system operations. An
implementation may, for example, require to read the existing value of
the DOS attribute in order to update this attribute.

##### Parameters

| value | the new value of the attribute |
|---|---|

##### Throws

| [IOException](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html) | if an I/O error occurs |
| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) | In the case of the default, and a security manager is installed, its `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityManager.html#checkWrite(java.lang.String)` method is invoked to check write access to the file |
|---|---|

#### public abstract void
**setReadOnly**
(boolean value)

Updates the value of the read-only attribute.

It is implementation specific if the attribute can be updated as an
atomic operation with respect to other file system operations. An
implementation may, for example, require to read the existing value of
the DOS attribute in order to update this attribute.

##### Parameters

| value | the new value of the attribute |
|---|---|

##### Throws

| [IOException](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html) | if an I/O error occurs |
| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) | In the case of the default, and a security manager is installed, its `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityManager.html#checkWrite(java.lang.String)` method is invoked to check write access to the file |
|---|---|

#### public abstract void
**setSystem**
(boolean value)

Updates the value of the system attribute.

It is implementation specific if the attribute can be updated as an
atomic operation with respect to other file system operations. An
implementation may, for example, require to read the existing value of
the DOS attribute in order to update this attribute.

##### Parameters

| value | the new value of the attribute |
|---|---|

##### Throws

| [IOException](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/IOException.html) | if an I/O error occurs |
| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) | In the case of the default, and a security manager is installed, its `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityManager.html#checkWrite(java.lang.String)` method is invoked to check write access to the file |
|---|---|