public abstract class FileSystemProvider extends Object
Files
クラスによって定義されているメソッドは通常、このクラスのインスタンスに処理を委譲します。
ファイル・システム・プロバイダは、このクラスで定義されている抽象メソッドを実装する、このクラスの具象実装です。 プロバイダは、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
が作成されます。
このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。
- 導入されたバージョン:
- 1.7
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 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>
VgetFileAttributeView(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)
読み取りまたは書き込み(あるいはその両方)用のファイルを開くか作成し、そのファイルにアクセスするためのファイル・チャネルを返します。abstract FileSystem
newFileSystem(URI uri, Map<String,?> env)
URIで識別される新しいFileSystem
オブジェクトを構築します。FileSystem
newFileSystem(Path path, Map<String,?> env)
ファイルの内容にファイル・システムとしてアクセスする新しいFileSystem
を構築します。InputStream
newInputStream(Path path, OpenOption... options)
ファイルを開き、そのファイルから読み取る入力ストリームを返します。OutputStream
newOutputStream(Path path, OpenOption... options)
ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。abstract <A extends BasicFileAttributes>
AreadAttributes(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)
ファイル属性の値を設定します。
-
コンストラクタの詳細
-
FileSystemProvider
protected FileSystemProvider()このクラスの新しいインスタンスを初期化します。構築中、プロバイダはデフォルト・プロバイダに関連付けられたファイルに安全にアクセスできますが、インストールされたほかのプロバイダの循環ロードを避けるために注意が必要です。 インストールされたプロバイダの循環ロードが検出された場合は、未指定のエラーがスローされます。
- 例外:
SecurityException
- セキュリティ・マネージャがインストールされており、それがRuntimePermission
("fileSystemProvider")
を拒否した場合
-
-
メソッドの詳細
-
installedProviders
public static List<FileSystemProvider> installedProviders()インストールされているファイル・システム・プロバイダのリストを返します。FileSystems
クラスで説明されているように、このメソッドの最初の呼出しによって、デフォルト・プロバイダが初期化され(まだ初期化されていない場合)、インストールされているほかのすべてのプロバイダがロードされます。- 戻り値:
- インストールされているファイル・システム・プロバイダの変更不可能なリスト。 このリストには少なくとも1つの要素(つまり、デフォルトのファイル・システム・プロバイダ)が含まれています
- 例外:
ServiceConfigurationError
- サービス・プロバイダのロード中にエラーが発生した場合
-
getScheme
public abstract String getScheme()このプロバイダを識別するURIスキームを返します。- 戻り値:
- URIスキーム
-
newFileSystem
public abstract FileSystem newFileSystem(URI uri, Map<String,?> env) throws IOExceptionURIで識別される新しいFileSystem
オブジェクトを構築します。 このメソッドは、URIで識別される新しいファイル・システムを開くためにFileSystems.newFileSystem(URI,Map)
メソッドによって呼び出されます。uri
パラメータは、このプロバイダがサポートしているスキームと同じスキーム(大文字小文字の区別なし)を持つ、階層型の絶対URIです。 URIの正確な形式はプロバイダに大きく依存します。env
パラメータは、ファイル・システムを構成するためのプロバイダ固有のプロパティのマップです。このメソッドは、ファイル・システムが以前にこのメソッドの呼出しによって作成されたためにすでに存在している場合には
FileSystemAlreadyExistsException
をスローします。 ファイル・システムが閉じられると
、以前に作成したファイル・システムと同じURIで新しいファイル・システムを作成することをプロバイダが許可するかどうかはプロバイダによって異なります。- パラメータ:
uri
- URI参照env
- ファイル・システムを構成するためのプロバイダ固有のプロパティのマップ。空でも可- 戻り値:
- 新しいファイル・システム
- 例外:
IllegalArgumentException
-uri
パラメータの事前条件が満たされない場合、またはenv
パラメータにプロバイダが必要とするプロパティが含まれていない場合、またはプロパティ値が無効な場合IOException
- そのファイル・システムの作成中に入出力エラーが発生した場合SecurityException
- セキュリティ・マネージャがインストールされ、それがファイル・システム・プロバイダ実装によって必要とされる未指定のアクセス権を拒否する場合FileSystemAlreadyExistsException
- そのファイル・システムがすでに作成されている場合
-
getFileSystem
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
- セキュリティ・マネージャがインストールされ、それが未指定のアクセス権を拒否する場合。
-
getPath
指定されたURI
を変換することによって、Path
オブジェクトを返します。 結果となるPath
は、すでに存在しているか自動的に構築されるFileSystem
に関連付けられます。URIの正確な形式はファイル・システム・プロバイダに依存します。 デフォルト・プロバイダの場合、URIスキームは
"file"
であり、指定されたURIには空でないパス・コンポーネントと、未定義のクエリーおよびフラグメント・コンポーネントが含まれます。 結果となるPath
はデフォルトのdefault
FileSystem
に関連付けられます。セキュリティ・マネージャがインストールされている場合、プロバイダ実装でアクセス権のチェックが必要になることがあります。
デフォルト
・ファイル・システムの場合は、アクセス権のチェックは不要です。- パラメータ:
uri
- 変換対象のURI- 戻り値:
- 結果の
Path
- 例外:
IllegalArgumentException
- URIスキームがこのプロバイダを識別しないか、uriパラメータのほかの事前条件が満たされていない場合FileSystemNotFoundException
- URIによって識別されるファイル・システムが存在せず、自動的に作成することもできない場合SecurityException
- セキュリティ・マネージャがインストールされ、それが未指定のアクセス権を拒否する場合。
-
newFileSystem
public FileSystem newFileSystem(Path path, Map<String,?> env) throws IOExceptionファイルの内容にファイル・システムとしてアクセスする新しいFileSystem
を構築します。このメソッドは、1つまたは複数のファイルの内容がファイル・システムとして扱われる擬似ファイル・システムの特殊なプロバイダ用です。
env
パラメータは、ファイル・システムを構成するためのプロバイダ固有のプロパティのマップです。このプロバイダがそのようなファイル・システムの作成をサポートしていない場合、またはそのプロバイダが指定されたファイルのファイル・タイプを認識しない場合は、
UnsupportedOperationException
がスローされます。 このメソッドのデフォルト実装はUnsupportedOperationException
をスローします。- パラメータ:
path
- ファイルへのパスenv
- ファイル・システムを構成するためのプロバイダ固有のプロパティのマップ。空でも可- 戻り値:
- 新しいファイル・システム
- 例外:
UnsupportedOperationException
- このプロバイダがそれらの内容にファイル・システムとしてアクセスすることをサポートしていないか、指定されたファイルのファイル・タイプを認識しない場合IllegalArgumentException
- プロバイダが必要とするプロパティがenv
パラメータに含まれていないか、プロパティ値が無効な場合IOException
- 入出力エラーが発生した場合SecurityException
- セキュリティ・マネージャがインストールされ、それが未指定のアクセス権を拒否する場合。
-
newInputStream
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
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
newOutputStream
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
メソッドが呼び出されて削除アクセスがチェックされます。
-
newFileChannel
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)
メソッドが呼び出されて書込みアクセスがチェックされます。
-
newAsynchronousFileChannel
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)
メソッドが呼び出されて書込みアクセスがチェックされます。
-
newByteChannel
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
メソッドが呼び出されて削除アクセスがチェックされます。
-
newDirectoryStream
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
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。
-
createDirectory
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
メソッドが呼び出されて新しいディレクトリへの書込みアクセスがチェックされます。
-
createSymbolicLink
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
メソッドがシンボリック・リンクのパスへの書込みアクセスを拒否する場合。
-
createLink
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
メソッドがリンクまたは既存のファイルへの書込みアクセスを拒否する場合。
-
delete
public abstract void delete(Path path) throws IOExceptionファイルを削除します。 このメソッドは、Files.delete(java.nio.file.Path)
メソッドで指定されたとおりに機能します。- パラメータ:
path
- 削除するファイルへのパス- 例外:
NoSuchFileException
- ファイルが存在しない場合(オプションの固有例外)DirectoryNotEmptyException
- ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、SecurityManager.checkDelete(String)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。
-
deleteIfExists
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)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。
-
readSymbolicLink
public Path readSymbolicLink(Path link) throws IOExceptionシンボリック・リンクのターゲットを読み取ります。 このメソッドは、Files.readSymbolicLink(java.nio.file.Path)
メソッドで指定されたとおりに機能します。このメソッドのデフォルト実装は
UnsupportedOperationException
をスローします。- パラメータ:
link
- シンボリック・リンクへのパス- 戻り値:
- シンボリック・リンクのターゲット
- 例外:
UnsupportedOperationException
- この実装がシンボリック・リンクをサポートしていない場合。NotLinkException
- ファイルがシンボリック・リンクではないためにターゲットを読み取れなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、リンクを読み取る"readlink
"アクションにFilePermission
が付与されていることがチェックされます。
-
copy
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")
がチェックされます。
-
move
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
メソッドが呼び出されてソースおよびターゲット・ファイルの両方への書込みアクセスがチェックされます。
-
isSameFile
public abstract boolean isSameFile(Path path, Path path2) throws IOException2つのパスが同じファイルを検出するかどうかを判断します。 このメソッドは、Files.isSameFile(java.nio.file.Path, java.nio.file.Path)
メソッドで指定されたとおりに機能します。- パラメータ:
path
- ファイルへの一方のパスpath2
- もう一方のパス- 戻り値:
- 2つのパスが同じファイルを検出する場合にのみ
true
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されて2つのファイルへの読取りアクセスがチェックされます。
-
isHidden
public abstract boolean isHidden(Path path) throws IOExceptionファイルが隠しファイルとみなされるかどうかを判断します。 このメソッドは、Files.isHidden(java.nio.file.Path)
メソッドで指定されたとおりに機能します。このメソッドは
isHidden
メソッドから呼び出されます。- パラメータ:
path
- テストするファイルへのパス- 戻り値:
- ファイルが隠しとみなされる場合
true
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
getFileStore
public abstract FileStore getFileStore(Path path) throws IOExceptionファイルが置かれているファイル・ストアを表すFileStore
を返します。 このメソッドは、Files.getFileStore(java.nio.file.Path)
メソッドで指定されたとおりに機能します。- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルが格納されるファイル・ストア
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダの場合、セキュリティ・マネージャがインストールされている場合、checkRead
メソッドが呼び出されてファイルへの読み取りアクセスをチェックし、さらにRuntimePermission
("getFileStoreAttributes")
をチェック
-
checkAccess
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
が呼び出されます。
-
getFileAttributeView
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...)
メソッドで指定されたとおりに機能します。- 型パラメータ:
V
-FileAttributeView
タイプ- パラメータ:
path
- ファイルへのパスtype
- ファイル属性ビューに対応するClass
オブジェクトoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- 指定されたタイプのファイル属性ビュー、または属性ビューのタイプがない場合は
null
-
readAttributes
public abstract <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException一括操作としてファイル属性を読み取ります。 このメソッドは、Files.readAttributes(Path,Class,LinkOption[])
メソッドで指定されたとおりに機能します。- 型パラメータ:
A
-BasicFileAttributes
タイプ- パラメータ:
path
- ファイルへのパスtype
- 読み取る必要のあるファイル属性のClass
options
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイル属性
- 例外:
UnsupportedOperationException
- 指定されたタイプの属性がサポートされない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
readAttributes
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
メソッドがファイルへの読取りアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を読み取るために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-
setAttribute
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
メソッドがファイルへの書込みアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を設定するために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-