モジュール java.base
パッケージ java.nio.file.spi

クラスFileSystemProvider

java.lang.Object
java.nio.file.spi.FileSystemProvider

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
  • コンストラクタの詳細

    • 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 IOException
      URIで識別される新しい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

      public abstract Path getPath​(URI uri)
      指定された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 IOException
      2つのパスが同じファイルを検出するかどうかを判断します。 このメソッドは、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
      ファイルの存在および、オプションでアクセシビリティをチェックします。

      このメソッドは、ファイルのアクセシビリティをチェックするためにisReadableisWritable、およびisExecutableメソッドによって使用されることがあります。

      このメソッドは、次のように、modesパラメータに指定されたすべてのアクセス・モードに従って、ファイルの存在と、Java仮想マシンにそのファイルへのアクセスを許可する適切な特権があることを確認します。

      アクセス・モード
      説明
      READ ファイルが存在することと、Java仮想マシンにそのファイルを読み取るためのアクセス権があることを確認します。
      WRITE ファイルが存在することと、Java仮想マシンにそのファイルに書き込むためのアクセス権があることを確認します。
      EXECUTE ファイルが存在することと、Java仮想マシンにそのファイルを実行するためのアクセス権があることを確認します。 ディレクトリへのアクセスをチェックする場合はセマンティックスが異なる場合があります。 たとえば、UNIXシステムでは、EXECUTEアクセスのチェックを行うと、Java仮想マシンに、ファイルまたはサブディレクトリにアクセスするためにディレクトリを検索する権限があることが確認されます。

      modesパラメータの長さがゼロの場合は、そのファイルの存在が確認されます。

      このオブジェクトによって参照されるファイルがシンボリック・リンクである場合、このメソッドはシンボリック・リンクをたどります。 実装によっては、このメソッドが、ファイルへの効果的なアクセスをチェックするために、ファイル・アクセス権、アクセス制御リスト、またはその他のファイル属性を読み取る必要がある場合があります。 ファイルへの効果的なアクセスを調べるために、いくつかの属性へのアクセスが必要になる場合があるため、一部の実装では、このメソッドはほかのファイル・システム操作に関して原子的でない可能性があります。

      パラメータ:
      path - チェックするファイルへのパス
      modes - チェックするアクセス・モード。要素がない場合もある
      例外:
      UnsupportedOperationException - 実装ではREADWRITE、および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メソッドがファイルへの書込みアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を設定するために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。