public abstract class FileSystemProvider extends Object
Files
クラスによって定義されているメソッドは通常、このクラスのインスタンスに処理を委譲します。
ファイルシステムプロバイダは、このクラスで定義されている abstract メソッドを実装する、このクラスの具象実装です。プロバイダは、URI
スキーム
によって識別されます。デフォルトプロバイダは、「file」という URI スキームによって識別されます。それは、Java 仮想マシンからアクセス可能なファイルシステムへのアクセスを提供する FileSystem
を作成します。FileSystems
クラスは、ファイルシステムプロバイダを検出してロードする方法を定義します。デフォルトプロバイダは通常、システムデフォルトのプロバイダですが、システムプロパティー java.nio.file.spi.DefaultFileSystemProvider
が設定されている場合はオーバーライドできます。その場合、このプロバイダには引数を 1 つ取るコンストラクタがあり、その仮パラメータ型は FileSystemProvider
です。ほかのすべてのプロバイダには、そのプロバイダを初期化する、引数を取らないコンストラクタが備わっています。
プロバイダとは、1 つまたは複数の FileSystem
インスタンスのファクトリです。各ファイルシステムは、URI のスキームがプロバイダのスキーム
と一致する場合に、その URI
によって識別されます。たとえば、デフォルトプロバイダは "file:///"
という URI によって識別されます。たとえば、メモリーベースのファイルシステムは、"memory:///?name=logfs"
などの URI によって識別されることがあります。newFileSystem
メソッドはファイルシステムの作成に使用でき、getFileSystem
メソッドはプロバイダによって作成された既存のファイルシステムへの参照を取得する場合に使用できます。プロバイダが単一ファイルシステムのファクトリである場合は、そのファイルシステムがプロバイダの初期化時に作成されるか、それともあとで newFileSystem
メソッドの呼び出し時に作成されるかはプロバイダによって異なります。デフォルトプロバイダの場合は、プロバイダの初期化時に FileSystem
が作成されます。
このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
FileSystemProvider()
このクラスの新しいインスタンスを初期化します。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
checkAccess(Path path, AccessMode... modes)
ファイルの存在および、オプションでアクセシビリティーをチェックします。
|
abstract void |
copy(Path source, Path target, CopyOption... options)
ファイルをターゲットファイルにコピーします。
|
abstract void |
createDirectory(Path dir, FileAttribute<?>... attrs)
新しいディレクトリを作成します。
|
void |
createLink(Path link, Path existing)
既存のファイルに対して新しいリンク (ディレクトリエントリ) を作成します。
|
void |
createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs)
ターゲットへのシンボリックリンクを作成します。
|
abstract void |
delete(Path path)
ファイルを削除します。
|
boolean |
deleteIfExists(Path path)
ファイルが存在する場合は削除します。
|
abstract <V extends FileAttributeView> |
getFileAttributeView(Path path, Class<V> type, LinkOption... options)
指定されたタイプのファイル属性ビューを返します。
|
abstract FileStore |
getFileStore(Path path)
ファイルが置かれているファイルストアを表す
FileStore を返します。 |
abstract FileSystem |
getFileSystem(URI uri)
このプロバイダによって作成された既存の
FileSystem を返します。 |
abstract Path |
getPath(URI uri)
指定された
URI を変換することによって、Path オブジェクトを返します。 |
abstract String |
getScheme()
このプロバイダを識別する URI スキームを返します。
|
static List<FileSystemProvider> |
installedProviders()
インストールされているファイルシステムプロバイダのリストを返します。
|
abstract boolean |
isHidden(Path path)
ファイルが隠しファイルとみなされるかどうかを判断します。
|
abstract boolean |
isSameFile(Path path, Path path2)
2 つのパスが同じファイルを検出するかどうかを判断します。
|
abstract void |
move(Path source, Path target, CopyOption... options)
ファイルをターゲットファイルに移動するか、そのファイル名を変更します。
|
AsynchronousFileChannel |
newAsynchronousFileChannel(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)
読み込みまたは書き込み (あるいはその両方) 用のファイルを開くか作成し、そのファイルにアクセスするための非同期のファイルチャネルを返します。
|
abstract SeekableByteChannel |
newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイトチャネルを返します。
|
abstract DirectoryStream<Path> |
newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter)
ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行う
DirectoryStream を返します。 |
FileChannel |
newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
読み取りまたは書き込み (あるいはその両方) 用のファイルを開くか作成し、そのファイルにアクセスするためのファイルチャネルを返します。
|
FileSystem |
newFileSystem(Path path, Map<String,?> env)
ファイルの内容にファイルシステムとしてアクセスする新しい
FileSystem を構築します。 |
abstract FileSystem |
newFileSystem(URI uri, Map<String,?> env)
URI で識別される新しい
FileSystem オブジェクトを構築します。 |
InputStream |
newInputStream(Path path, OpenOption... options)
ファイルを開き、そのファイルから読み取る入力ストリームを返します。
|
OutputStream |
newOutputStream(Path path, OpenOption... options)
ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。
|
abstract <A extends BasicFileAttributes> |
readAttributes(Path path, Class<A> type, LinkOption... options)
一括操作としてファイル属性を読み取ります。
|
abstract Map<String,Object> |
readAttributes(Path path, String attributes, LinkOption... options)
一括操作として一連のファイル属性を読み取ります。
|
Path |
readSymbolicLink(Path link)
シンボリックリンクのターゲットを読み取ります。
|
abstract void |
setAttribute(Path path, String attribute, Object value, LinkOption... options)
ファイル属性の値を設定します。
|
protected FileSystemProvider()
構築中、プロバイダはデフォルトプロバイダに関連付けられたファイルに安全にアクセスできますが、インストールされたほかのプロバイダの循環ロードを避けるために注意が必要です。インストールされたプロバイダの循環ロードが検出された場合は、未指定のエラーがスローされます。
SecurityException
- セキュリティーマネージャーがインストールされており、それが RuntimePermission
("fileSystemProvider") を拒否した場合public static List<FileSystemProvider> installedProviders()
FileSystems
クラスで説明されているように、このメソッドの最初の呼び出しによって、デフォルトプロバイダが初期化され (まだ初期化されていない場合)、インストールされているほかのすべてのプロバイダがロードされます。
ServiceConfigurationError
- サービスプロバイダのロード中にエラーが発生した場合public abstract String getScheme()
public abstract FileSystem newFileSystem(URI uri, Map<String,?> env) throws IOException
FileSystem
オブジェクトを構築します。このメソッドは、URI で識別される新しいファイルシステムを開くために FileSystems.newFileSystem(URI,Map)
メソッドによって呼び出されます。
uri
パラメータは、このプロバイダがサポートしているスキームと同じスキーム (大文字小文字の区別なし) を持つ、階層型の絶対 URI です。URI の正確な形式はプロバイダに大きく依存します。env
パラメータは、ファイルシステムを構成するためのプロバイダ固有のプロパティーのマップです。
このメソッドは、ファイルシステムが以前にこのメソッドの呼び出しによって作成されたためにすでに存在している場合には FileSystemAlreadyExistsException
をスローします。ファイルシステムが閉じられると
、以前に作成したファイルシステムと同じ URI で新しいファイルシステムを作成することをプロバイダが許可するかどうかはプロバイダによって異なります。
uri
- URI 参照env
- ファイルシステムを構成するためのプロバイダ固有のプロパティーのマップ。空でも可IllegalArgumentException
- uri
パラメータの事前条件が満たされない場合、または env
パラメータにプロバイダが必要とするプロパティーが含まれていない場合、またはプロパティー値が無効な場合IOException
- そのファイルシステムの作成中に入出力エラーが発生した場合SecurityException
- セキュリティーマネージャーがインストールされ、それがファイルシステムプロバイダ実装によって必要とされる未指定のアクセス権を拒否する場合FileSystemAlreadyExistsException
- そのファイルシステムがすでに作成されている場合public abstract FileSystem getFileSystem(URI uri)
FileSystem
を返します。
このメソッドは、newFileSystem(URI,Map)
メソッドを呼び出して作成された FileSystem
への参照を返します。newFileSystem(Path,Map)
メソッドを作成したファイルシステムは、このメソッドでは返されません。ファイルシステムはその URI
で識別されます。その正確な形式はプロバイダに大きく依存します。デフォルトプロバイダの場合、URI のパスコンポーネントは "/"
であり、機関、クエリー、およびフラグメントの各コンポーネントは未定義です (未定義のコンポーネントは null
で表される)。
このプロバイダによって作成されたファイルシステムが閉じると
、このメソッドが、閉じられたファイルシステムへの参照を返すか FileSystemNotFoundException
をスローするかは、プロバイダによって異なります。以前に作成したファイルシステムと同じ URI で新しいファイルシステムを作成することをプロバイダが許可する場合は、ファイルシステムが閉じられたあとで (かつnewFileSystem
メソッドによって新しいインスタンスが作成される前に) このメソッドを呼び出すと、例外がスローされます。
セキュリティーマネージャーがインストールされている場合は、プロバイダ実装は既存のファイルシステムへの参照を返す前にアクセス権をチェックすることを必要とする場合があります。デフォルト
ファイルシステムの場合は、アクセス権のチェックは不要です。
uri
- URI 参照IllegalArgumentException
- uri
パラメータの事前条件が満たされない場合FileSystemNotFoundException
- ファイルシステムが存在しない場合SecurityException
- セキュリティーマネージャーがインストールされ、それが未指定のアクセス権を拒否する場合。public abstract Path getPath(URI uri)
URI
を変換することによって、Path
オブジェクトを返します。結果となる Path
は、すでに存在しているか自動的に構築される FileSystem
に関連付けられます。
URI の正確な形式はファイルシステムプロバイダに依存します。デフォルトプロバイダの場合、URI スキームは "file"
であり、指定された URI には空でないパスコンポーネントと、未定義のクエリーおよびフラグメントコンポーネントが含まれます。結果となる Path
はデフォルトの default
FileSystem
に関連付けられます。
セキュリティーマネージャーがインストールされている場合、プロバイダ実装でアクセス権のチェックが必要になることがあります。デフォルト
ファイルシステムの場合は、アクセス権のチェックは不要です。
uri
- 変換対象の URIIllegalArgumentException
- URI スキームがこのプロバイダを識別しないか、uri パラメータのほかの事前条件が満たされていない場合FileSystemNotFoundException
- URI によって識別されるファイルシステムが存在せず、自動的に作成することもできない場合SecurityException
- セキュリティーマネージャーがインストールされ、それが未指定のアクセス権を拒否する場合。public FileSystem newFileSystem(Path path, Map<String,?> env) throws IOException
FileSystem
を構築します。
このメソッドは、1 つまたは複数のファイルの内容がファイルシステムとして扱われる擬似ファイルシステムの特殊なプロバイダ用です。env
パラメータは、ファイルシステムを構成するためのプロバイダ固有のプロパティーのマップです。
このプロバイダがそのようなファイルシステムの作成をサポートしていない場合、またはそのプロバイダが指定されたファイルのファイルタイプを認識しない場合は、UnsupportedOperationException
がスローされます。このメソッドのデフォルト実装は UnsupportedOperationException
をスローします。
path
- ファイルへのパスenv
- ファイルシステムを構成するためのプロバイダ固有のプロパティーのマップ。空でも可UnsupportedOperationException
- このプロバイダがそれらの内容にファイルシステムとしてアクセスすることをサポートしていないか、指定されたファイルのファイルタイプを認識しない場合IllegalArgumentException
- プロバイダが必要とするプロパティーが env
パラメータに含まれていないか、プロパティー値が無効な場合IOException
- 入出力エラーが発生した場合SecurityException
- セキュリティーマネージャーがインストールされ、それが未指定のアクセス権を拒否する場合。public InputStream newInputStream(Path path, OpenOption... options) throws IOException
Files.newInputStream(java.nio.file.Path, java.nio.file.OpenOption...)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装では、newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...)
メソッドを呼び出したかのようにファイルへのチャネルを開き、そのチャネルからバイトを読み取るストリームを構築します。このメソッドは必要に応じてオーバーライドすることをお勧めします。
path
- 開くファイルへのパスoptions
- ファイルを開く方法を指定するオプションIllegalArgumentException
- オプションの無効な組み合わせが指定された場合UnsupportedOperationException
- 未サポートのオプションが指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされます。public OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
Files.newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装では、newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...)
メソッドを呼び出したかのようにファイルへのチャネルを開き、そのチャネルにバイトを書き込むストリームを構築します。このメソッドは必要に応じてオーバーライドすることをお勧めします。
path
- 開くまたは作成するファイルへのパスoptions
- ファイルを開く方法を指定するオプションIllegalArgumentException
- options
にオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- 未サポートのオプションが指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書き込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。public FileChannel newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
FileChannel.open
メソッドで指定されたとおりに機能します。プロバイダがファイルチャネルの構築に必要なすべての機能をサポートしているわけではない場合は、UnsupportedOperationException
がスローされます。デフォルトプロバイダは、ファイルチャネルの作成をサポートしている必要があります。デフォルト実装では、オーバーライドされない場合、UnsupportedOperationException
がスローされます。path
- 開くまたは作成するファイルのパスoptions
- ファイルを開く方法を指定するオプションattrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリストIllegalArgumentException
- セットにオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- このプロバイダがファイルチャネルの作成をサポートしていない場合、あるいは未サポートのオープンオプションまたはファイル属性が指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、ファイルが読み取り用に開かれた場合は、SecurityManager.checkRead(String)
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされます。ファイルが書き込み用に開かれた場合は、SecurityManager.checkWrite(String)
メソッドが呼び出されて書き込みアクセスがチェックされます。public AsynchronousFileChannel newAsynchronousFileChannel(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs) throws IOException
AsynchronousFileChannel.open
メソッドで指定されたとおりに機能します。プロバイダが非同期ファイルチャネルの構築に必要なすべての機能をサポートしているわけではない場合は、UnsupportedOperationException
がスローされます。デフォルトプロバイダは、非同期ファイルチャネルの作成をサポートしている必要があります。このメソッドのデフォルト実装では、オーバーライドされない場合、UnsupportedOperationException
がスローされます。path
- 開くまたは作成するファイルのパスoptions
- ファイルを開く方法を指定するオプションexecutor
- スレッドプール、またはチャネルをデフォルトのスレッドプールに関連付ける場合は null
attrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリストIllegalArgumentException
- セットにオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- このプロバイダが非同期ファイルチャネルの作成をサポートしていない場合、あるいは未サポートのオープンオプションまたはファイル属性が指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、ファイルが読み取り用に開かれた場合は、SecurityManager.checkRead(String)
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされます。ファイルが書き込み用に開かれた場合は、SecurityManager.checkWrite(String)
メソッドが呼び出されて書き込みアクセスがチェックされます。public abstract SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
Files.newByteChannel(Path,Set,FileAttribute[])
メソッドで指定されたとおりに機能します。path
- 開くまたは作成するファイルへのパスoptions
- ファイルを開く方法を指定するオプションattrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリストIllegalArgumentException
- セットにオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- 未サポートのオープンオプションが指定された場合またはファイルの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在する場合、および CREATE_NEW
オプションが指定された場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、ファイルが読み取り用に開かれると checkRead
メソッドが呼び出されてパスへの読み取りアクセスがチェックされます。ファイルが書き込み用に開かれた場合は、checkWrite
メソッドが呼び出されてパスへの書き込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。public abstract DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException
DirectoryStream
を返します。このメソッドは、Files.newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter)
メソッドで指定されたとおりに機能します。dir
- ディレクトリへのパスfilter
- ディレクトリストリームフィルタDirectoryStream
オブジェクトNotDirectoryException
- ファイルがディレクトリではないために開けなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてディレクトリへの読み取りアクセスがチェックされます。public abstract void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
Files.createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)
メソッドで指定されたとおりに機能します。dir
- 作成するディレクトリattrs
- ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリストUnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在するためにディレクトリを作成できなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合または親ディレクトリが存在しない場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkWrite
メソッドが呼び出されて新しいディレクトリへの書き込みアクセスがチェックされます。public void createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
Files.createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装は UnsupportedOperationException
をスローします。
link
- 作成するシンボリックリンクへのパスtarget
- シンボリックリンクのターゲットattrs
- シンボリックリンクの作成時に原子的に設定される属性の配列UnsupportedOperationException
- 実装がシンボリックリンクをサポートしない場合、またはシンボリックリンクの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在する場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされていて、それが LinkPermission
("symbolic") を拒否するか、またはその checkWrite
メソッドがシンボリックリンクのパスへの書き込みアクセスを拒否する場合。public void createLink(Path link, Path existing) throws IOException
Files.createLink(java.nio.file.Path, java.nio.file.Path)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装は UnsupportedOperationException
をスローします。
link
- 作成するリンク (ディレクトリエントリ) existing
- 既存のファイルへのパスUnsupportedOperationException
- 実装が、既存のファイルをディレクトリに追加することをサポートしない場合FileAlreadyExistsException
- その名前のファイルがすでに存在するためにエントリを作成できなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされていて、それが LinkPermission
("hard") を拒否するか、またはその checkWrite
メソッドがリンクまたは既存のファイルへの書き込みアクセスを拒否する場合。public abstract void delete(Path path) throws IOException
Files.delete(java.nio.file.Path)
メソッドで指定されたとおりに機能します。path
- 削除するファイルへのパスNoSuchFileException
- ファイルが存在しない場合 (オプションの固有例外)DirectoryNotEmptyException
- ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、SecurityManager.checkDelete(String)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。public boolean deleteIfExists(Path path) throws IOException
Files.deleteIfExists(java.nio.file.Path)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装では、単に delete(java.nio.file.Path)
を呼び出し、ファイルが存在しない場合は NoSuchFileException
を無視します。必要に応じてオーバーライドされることもあります。
path
- 削除するファイルへのパスtrue
、ファイルが存在しないために削除できなかった場合は false
DirectoryNotEmptyException
- ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、SecurityManager.checkDelete(String)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。public Path readSymbolicLink(Path link) throws IOException
Files.readSymbolicLink(java.nio.file.Path)
メソッドで指定されたとおりに機能します。
このメソッドのデフォルト実装は UnsupportedOperationException
をスローします。
link
- シンボリックリンクへのパスUnsupportedOperationException
- この実装がシンボリックリンクをサポートしていない場合。NotLinkException
- ファイルがシンボリックリンクではないためにターゲットを読み取れなかった場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、リンクを読み取る "readlink
" アクションに FilePermission
が付与されていることがチェックされます。public abstract void copy(Path source, Path target, CopyOption... options) throws IOException
Files.copy(Path,Path,CopyOption[])
メソッドによって指定されたとおりに機能します。source
- コピーするファイルへのパスtarget
- ターゲットファイルへのパスoptions
- コピーをどのように実行するべきかを指定するオプションUnsupportedOperationException
- サポートされないコピーオプションが配列に含まれる場合FileAlreadyExistsException
- ターゲットファイルは存在するけれども、REPLACE_EXISTING
オプションが指定されていないために置換できない場合 (オプションの固有例外)DirectoryNotEmptyException
- REPLACE_EXISTING
オプションが指定されているけれども、空でないディレクトリであるために置換できない場合 (オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてソースファイルへの読み取りアクセスがチェックされ、checkWrite
メソッドが呼び出されてターゲットファイルへの書き込みアクセスがチェックされます。シンボリックリンクがコピーされる場合は、セキュリティーマネージャーが呼び出されて LinkPermission
("symbolic")
がチェックされます。public abstract void move(Path source, Path target, CopyOption... options) throws IOException
Files.move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...)
メソッドによって指定されたとおりに機能します。source
- 移動するファイルへのパスtarget
- ターゲットファイルへのパスoptions
- 移動をどのように実行するべきかを指定するオプションUnsupportedOperationException
- サポートされないコピーオプションが配列に含まれる場合FileAlreadyExistsException
- ターゲットファイルは存在するけれども、REPLACE_EXISTING
オプションが指定されていないために置換できない場合 (オプションの固有例外)DirectoryNotEmptyException
- REPLACE_EXISTING
オプションが指定されているけれども、空でないディレクトリであるために置換できない場合 (オプションの固有例外)AtomicMoveNotSupportedException
- オプション配列に ATOMIC_MOVE
オプションを含まれるけれども、原子的なファイルシステム操作としてファイルを移動できない場合。IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkWrite
メソッドが呼び出されてソースおよびターゲットファイルの両方への書き込みアクセスがチェックされます。public abstract boolean isSameFile(Path path, Path path2) throws IOException
Files.isSameFile(java.nio.file.Path, java.nio.file.Path)
メソッドで指定されたとおりに機能します。path
- ファイルへの一方のパスpath2
- もう一方のパスtrue
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されて 2 つのファイルへの読み取りアクセスがチェックされます。public abstract boolean isHidden(Path path) throws IOException
Files.isHidden(java.nio.file.Path)
メソッドで指定されたとおりに機能します。
このメソッドは isHidden
メソッドから呼び出されます。
path
- テストするファイルへのパスtrue
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされます。public abstract FileStore getFileStore(Path path) throws IOException
FileStore
を返します。このメソッドは、Files.getFileStore(java.nio.file.Path)
メソッドで指定されたとおりに機能します。path
- ファイルへのパスIOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされ、さらに RuntimePermission
("getFileStoreAttributes") もチェックされます。public abstract void checkAccess(Path path, AccessMode... modes) throws IOException
このメソッドは、ファイルのアクセシビリティーをチェックするために isReadable
、isWritable
、および isExecutable
メソッドによって使用されることがあります。
このメソッドは、次のように、modes
パラメータに指定されたすべてのアクセスモードに従って、ファイルの存在と、Java 仮想マシンにそのファイルへのアクセスを許可する適切な特権があることを確認します。
値 | 説明 |
---|---|
READ |
ファイルが存在することと、Java 仮想マシンにそのファイルを読み取るためのアクセス権があることを確認します。 |
WRITE |
ファイルが存在することと、Java 仮想マシンにそのファイルに書き込むためのアクセス権があることを確認します。 |
EXECUTE |
ファイルが存在することと、Java 仮想マシンにそのファイルを実行する ためのアクセス権があることを確認します。ディレクトリへのアクセスをチェックする場合はセマンティクスが異なる場合があります。たとえば、UNIX システムでは、EXECUTE アクセスのチェックを行うと、Java 仮想マシンに、ファイルまたはサブディレクトリにアクセスするためにディレクトリを検索する権限があることが確認されます。 |
modes
パラメータの長さがゼロの場合は、そのファイルの存在が確認されます。
このオブジェクトによって参照されるファイルがシンボリックリンクである場合、このメソッドはシンボリックリンクをたどります。実装によっては、このメソッドが、ファイルへの効果的なアクセスをチェックするために、ファイルアクセス権、アクセス制御リスト、またはその他のファイル属性を読み取る必要がある場合があります。ファイルへの効果的なアクセスを調べるために、いくつかの属性へのアクセスが必要になる場合があるため、一部の実装では、このメソッドはほかのファイルシステム操作に関して原子的でない可能性があります。
path
- チェックするファイルへのパスmodes
- チェックするアクセスモード。要素がない場合もあるUnsupportedOperationException
- 実装では READ
、WRITE
、および EXECUTE
アクセスのチェックをサポートしている必要があります。この例外は、Access
列挙が将来のリリースで拡張されることを考慮して指定されています。NoSuchFileException
- ファイルが存在しない場合 (オプションの固有例外)AccessDeniedException
- 要求されたアクセスが拒否される場合、または Java 仮想マシンに十分な特権がないなどの理由でアクセスを調べられない場合。(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、ファイルへの読み取りアクセスまたはファイルの存在のみをチェックする際に checkRead
が呼び出され、ファイルへの書き込みアクセスをチェックする際に checkWrite
が呼び出され、実行アクセスをチェックする際に checkExec
が呼び出されます。public abstract <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options)
Files.getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption...)
メソッドで指定されたとおりに機能します。path
- ファイルへのパスtype
- ファイル属性ビューに対応する Class
オブジェクトoptions
- シンボリックリンクの処理方法を示すオプションnull
public abstract <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException
Files.readAttributes(Path,Class,LinkOption[])
メソッドで指定されたとおりに機能します。path
- ファイルへのパスtype
- 読み取る必要のあるファイル属性の Class
options
- シンボリックリンクの処理方法を示すオプションUnsupportedOperationException
- 指定されたタイプの属性がサポートされない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読み取りアクセスがチェックされます。public abstract Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException
Files.readAttributes(Path,String,LinkOption[])
メソッドで指定されたとおりに機能します。path
- ファイルへのパスattributes
- 読み取る属性options
- シンボリックリンクの処理方法を示すオプションUnsupportedOperationException
- 属性ビューが使用できない場合IllegalArgumentException
- 属性が指定されない場合または認識されない属性が指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされていて、その checkRead
メソッドがファイルへの読み取りアクセスを拒否する場合。このメソッドが、セキュリティー保護を必要とする属性を読み取るために呼び出された場合、セキュリティーマネージャーが呼び出されて追加のアクセス権をチェックする場合があります。public abstract void setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
Files.setAttribute(java.nio.file.Path, java.lang.String, java.lang.Object, java.nio.file.LinkOption...)
メソッドで指定されたとおりに機能します。path
- ファイルへのパスattribute
- 設定する属性value
- 属性値options
- シンボリックリンクの処理方法を示すオプションUnsupportedOperationException
- 属性ビューが使用できない場合IllegalArgumentException
- 属性名が指定されない場合、または認識されない場合、または属性値の型は正しいが値が不適切な場合ClassCastException
- 属性値が予想される型でないか、予想される型でない要素を含むコレクションである場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルトプロバイダで、セキュリティーマネージャーがインストールされていて、その checkWrite
メソッドがファイルへの書き込みアクセスを拒否する場合。このメソッドが、セキュリティー保護を必要とする属性を設定するために呼び出された場合、セキュリティーマネージャーが呼び出されて追加のアクセス権をチェックする場合があります。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.