クラス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
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    このクラスの新しいインスタンスを初期化します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    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
    ファイルが存在する場合は削除します。
    boolean
    exists(Path path, LinkOption... options)
    ファイルが存在するかどうかをテストします。
    abstract <V extends FileAttributeView>
    V
    getFileAttributeView(Path path, Class<V> type, LinkOption... options)
    指定されたタイプのファイル属性ビューを返します。
    abstract FileStore
    ファイルが置かれているファイル・ストアを表すFileStoreを返します。
    abstract FileSystem
    このプロバイダによって作成された既存のFileSystemを返します。
    abstract Path
    getPath(URI uri)
    指定されたURIを変換することによって、Pathオブジェクトを返します。
    abstract String
    このプロバイダを識別するURIスキームを返します。
    インストールされているファイル・システム・プロバイダのリストを返します。
    abstract boolean
    isHidden(Path path)
    ファイルが隠しファイルとみなされるかどうかを判断します。
    abstract boolean
    isSameFile(Path path, Path path2)
    2つのパスが同じファイルを検出するかどうかを判断します。
    abstract void
    move(Path source, Path target, CopyOption... options)
    ファイルをターゲット・ファイルに移動するか、そのファイル名を変更します。
    newAsynchronousFileChannel(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)
    読み込みまたは書き込み(あるいはその両方)用のファイルを開くか作成し、そのファイルにアクセスするための非同期のファイル・チャネルを返します。
    newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
    ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイト・チャネルを返します。
    ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行うDirectoryStreamを返します。
    newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
    読み取りまたは書き込み(あるいはその両方)用のファイルを開くか作成し、そのファイルにアクセスするためのファイル・チャネルを返します。
    abstract FileSystem
    newFileSystem(URI uri, Map<String,?> env)
    URIで識別される新しいFileSystemオブジェクトを構築します。
    newFileSystem(Path path, Map<String,?> env)
    ファイルの内容にファイル・システムとしてアクセスする新しいFileSystemを構築します。
    newInputStream(Path path, OpenOption... options)
    ファイルを開き、そのファイルから読み取る入力ストリームを返します。
    newOutputStream(Path path, OpenOption... options)
    ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。
    abstract <A extends BasicFileAttributes>
    A
    readAttributes(Path path, Class<A> type, LinkOption... options)
    一括操作としてファイル属性を読み取ります。
    abstract Map<String,Object>
    readAttributes(Path path, String attributes, LinkOption... options)
    一括操作として一連のファイル属性を読み取ります。
    <A extends BasicFileAttributes>
    A
    readAttributesIfExists(Path path, Class<A> type, LinkOption... options)
    ファイルの属性が存在する場合、その属性を一括操作として読み取ります。
    シンボリック・リンクのターゲットを読み取ります。
    abstract void
    setAttribute(Path path, String attribute, Object value, LinkOption... options)
    ファイル属性の値を設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • FileSystemProvider

      protected 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 - そのファイル・システムの作成中に入出力エラーが発生した場合
      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 - ファイル・システムが存在しない場合
    • 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によって識別されるファイル・システムが存在せず、自動的に作成することもできない場合
    • newFileSystem

      public FileSystem newFileSystem(Path path, Map<String,?> env) throws IOException
      ファイルの内容にファイル・システムとしてアクセスする新しいFileSystemを構築します。

      このメソッドは、1つまたは複数のファイルの内容がファイル・システムとして扱われる擬似ファイル・システムの特殊なプロバイダ用です。 envパラメータは、ファイル・システムを構成するためのプロバイダ固有のプロパティのマップです。

      このプロバイダがそのようなファイル・システムの作成をサポートしていない場合、またはそのプロバイダが指定されたファイルのファイル・タイプを認識しない場合は、UnsupportedOperationExceptionがスローされます。 このメソッドのデフォルト実装はUnsupportedOperationExceptionをスローします。

      パラメータ:
      path - ファイルへのパス
      env - ファイル・システムを構成するためのプロバイダ固有のプロパティのマップ。空でも可
      戻り値:
      新しいファイル・システム
      スロー:
      UnsupportedOperationException - このプロバイダがそれらの内容にファイル・システムとしてアクセスすることをサポートしていないか、指定されたファイルのファイル・タイプを認識しない場合
      IllegalArgumentException - プロバイダが必要とするプロパティがenvパラメータに含まれていないか、プロパティ値が無効な場合
      IOException - 入出力エラーが発生した場合
    • newInputStream

      public InputStream newInputStream(Path path, OpenOption... options) throws IOException
      ファイルを開き、そのファイルから読み取る入力ストリームを返します。 このメソッドは、Files.newInputStream(Path, OpenOption...)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルトの実装では、newByteChannel(Path, Set, FileAttribute...)メソッドを呼び出すかのように、ファイルへのチャネルが開き、チャネルからバイトを読み取るストリームが作成されます。 このメソッドは必要に応じてオーバーライドすることをお薦めします。

      パラメータ:
      path - 開くファイルへのパス
      options - ファイルを開く方法を指定するオプション
      戻り値:
      新しい入力ストリーム
      スロー:
      IllegalArgumentException - オプションの無効な組み合わせが指定された場合
      UnsupportedOperationException - 未サポートのオプションが指定された場合
      IOException - 入出力エラーが発生した場合
    • newOutputStream

      public OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
      ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。 このメソッドは、Files.newOutputStream(Path, OpenOption...)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルトの実装では、newByteChannel(Path, Set, FileAttribute...)メソッドを呼び出すかのように、ファイルへのチャネルが開き、チャネルにバイトを書き込むストリームが作成されます。 このメソッドは必要に応じてオーバーライドすることをお薦めします。

      パラメータ:
      path - 開くまたは作成するファイルへのパス
      options - ファイルを開く方法を指定するオプション
      戻り値:
      新しい出力ストリーム
      スロー:
      IllegalArgumentException - optionsにオプションの無効な組み合わせが含まれる場合
      UnsupportedOperationException - 未サポートのオプションが指定された場合
      IOException - 入出力エラーが発生した場合
      FileAlreadyExistsException - その名前のファイルがすでに存在し、CREATE_NEWオプションが指定されている場合、(optional specific exception)
    • newFileChannel

      public FileChannel newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
      読み取りまたは書き込み(あるいはその両方)用のファイルを開くか作成し、そのファイルにアクセスするためのファイル・チャネルを返します。 このメソッドは、FileChannel.openメソッドで指定されたとおりに機能します。 プロバイダがファイル・チャネルの構築に必要なすべての機能をサポートしているわけではない場合は、 UnsupportedOperationExceptionがスローされます。 デフォルト・プロバイダは、ファイル・チャネルの作成をサポートしている必要があります。 デフォルト実装では、オーバーライドされない場合、UnsupportedOperationExceptionがスローされます。
      パラメータ:
      path - 開くまたは作成するファイルのパス
      options - ファイルを開く方法を指定するオプション
      attrs - ファイルの作成時に原子的に設定されるファイル属性のオプションのリスト
      戻り値:
      新しいファイル・チャネル
      スロー:
      IllegalArgumentException - セットにオプションの無効な組み合わせが含まれる場合
      UnsupportedOperationException - このプロバイダがファイル・チャネルの作成をサポートしていない場合、あるいは未サポートのオープン・オプションまたはファイル属性が指定された場合
      FileAlreadyExistsException - その名前のファイルがすでに存在し、CREATE_NEWオプションが指定され、そのファイルが「(optional specific exception)の書き込みのために開かれている場合」
      IOException - 入出力エラーが発生した場合
    • 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 - このプロバイダが非同期ファイル・チャネルの作成をサポートしていない場合、あるいは未サポートのオープン・オプションまたはファイル属性が指定された場合
      FileAlreadyExistsException - その名前のファイルがすでに存在し、CREATE_NEWオプションが指定され、そのファイルが「(optional specific exception)の書き込みのために開かれている場合」
      IOException - 入出力エラーが発生した場合
    • 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オプションが指定され、そのファイルが「(optional specific exception)の書き込みのために開かれている場合」
      IOException - 入出力エラーが発生した場合
    • 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 - 入出力エラーが発生した場合
    • createDirectory

      public abstract void createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
      新しいディレクトリを作成します。 このメソッドは、Files.createDirectory(Path, FileAttribute...)メソッドで指定されたとおりに機能します。
      パラメータ:
      dir - 作成するディレクトリ
      attrs - ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリスト
      スロー:
      UnsupportedOperationException - ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合
      FileAlreadyExistsException - その名前のファイルがすでに存在するためにディレクトリを作成できなかった場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合または親ディレクトリが存在しない場合
    • createSymbolicLink

      public void createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
      ターゲットへのシンボリック・リンクを作成します。 このメソッドは、Files.createSymbolicLink(Path, Path, FileAttribute...)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルト実装は UnsupportedOperationExceptionをスローします。

      パラメータ:
      link - 作成するシンボリック・リンクへのパス
      target - シンボリック・リンクのターゲット
      attrs - シンボリック・リンクの作成時に原子的に設定される属性の配列
      スロー:
      UnsupportedOperationException - 実装がシンボリック・リンクをサポートしない場合、またはシンボリック・リンクの作成時に原子的に設定できない属性が配列に含まれる場合
      FileAlreadyExistsException - その名前のファイルがすでに存在する場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合
    • createLink

      public void createLink(Path link, Path existing) throws IOException
      既存のファイルに対して新しいリンク(ディレクトリ・エントリ)を作成します。 このメソッドは、Files.createLink(Path, Path)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルト実装は UnsupportedOperationExceptionをスローします。

      パラメータ:
      link - 作成するリンク(ディレクトリ・エントリ)
      existing - 既存のファイルへのパス
      スロー:
      UnsupportedOperationException - 実装が、既存のファイルをディレクトリに追加することをサポートしない場合
      FileAlreadyExistsException - その名前のファイルがすでに存在するためにエントリを作成できなかった場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合
    • delete

      public abstract void delete(Path path) throws IOException
      ファイルを削除します。 このメソッドは、Files.delete(Path)メソッドで指定されたとおりに機能します。
      パラメータ:
      path - 削除するファイルへのパス
      スロー:
      NoSuchFileException - ファイルが存在しない場合(オプションの固有例外)
      DirectoryNotEmptyException - ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合
    • deleteIfExists

      public boolean deleteIfExists(Path path) throws IOException
      ファイルが存在する場合は削除します。 このメソッドは、Files.deleteIfExists(Path)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルト実装は、ファイルが存在しない場合、NoSuchFileExceptionを無視してdelete(Path)を呼び出します。 必要に応じてオーバーライドされることもあります。

      パラメータ:
      path - 削除するファイルへのパス
      戻り値:
      ファイルがこのメソッドによって削除された場合はtrue、ファイルが存在しないために削除できなかった場合は false
      スロー:
      DirectoryNotEmptyException - ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合
    • readSymbolicLink

      public Path readSymbolicLink(Path link) throws IOException
      シンボリック・リンクのターゲットを読み取ります。 このメソッドは、Files.readSymbolicLink(Path)メソッドで指定されたとおりに機能します。

      このメソッドのデフォルト実装は UnsupportedOperationExceptionをスローします。

      パラメータ:
      link - シンボリック・リンクへのパス
      戻り値:
      シンボリック・リンクのターゲット
      スロー:
      UnsupportedOperationException - この実装がシンボリック・リンクをサポートしていない場合。
      NotLinkException - ファイルがシンボリック・リンクではないためにターゲットを読み取れなかった場合(オプションの固有例外)
      IOException - 入出力エラーが発生した場合
    • 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 - 入出力エラーが発生した場合
    • move

      public abstract void move(Path source, Path target, CopyOption... options) throws IOException
      ファイルをターゲット・ファイルに移動するか、そのファイル名を変更します。 このメソッドは、ソース・パスとターゲット・パスの両方をこのプロバイダに関連付ける必要があることを除き、Files.move(Path, Path, CopyOption...)メソッドによって指定されたとおりに機能します。
      パラメータ:
      source - 移動するファイルへのパス
      target - ターゲット・ファイルへのパス
      options - 移動をどのように実行するべきかを指定するオプション
      スロー:
      UnsupportedOperationException - サポートされないコピー・オプションが配列に含まれる場合
      FileAlreadyExistsException - ターゲット・ファイルは存在するけれども、REPLACE_EXISTINGオプションが指定されていないために置換できない場合(オプションの固有例外)
      DirectoryNotEmptyException - REPLACE_EXISTINGオプションが指定されているけれども、空でないディレクトリであるために置換できない場合(オプションの固有例外)
      AtomicMoveNotSupportedException - オプション配列にATOMIC_MOVEオプションを含まれるけれども、原子的なファイル・システム操作としてファイルを移動できない場合。
      IOException - 入出力エラーが発生した場合
    • isSameFile

      public abstract boolean isSameFile(Path path, Path path2) throws IOException
      2つのパスが同じファイルを検出するかどうかを判断します。 このメソッドは、Files.isSameFile(Path, Path)メソッドで指定されたとおりに機能します。
      パラメータ:
      path - ファイルへの一方のパス
      path2 - もう一方のパス
      戻り値:
      2つのパスが同じファイルを検出する場合にのみtrue
      スロー:
      IOException - 入出力エラーが発生した場合
    • isHidden

      public abstract boolean isHidden(Path path) throws IOException
      ファイルが隠しファイルとみなされるかどうかを判断します。 このメソッドは、Files.isHidden(Path)メソッドで指定されたとおりに機能します。

      このメソッドはisHiddenメソッドから呼び出されます。

      パラメータ:
      path - テストするファイルへのパス
      戻り値:
      ファイルが隠しとみなされる場合true
      スロー:
      IOException - 入出力エラーが発生した場合
    • getFileStore

      public abstract FileStore getFileStore(Path path) throws IOException
      ファイルが置かれているファイル・ストアを表すFileStoreを返します。 このメソッドは、Files.getFileStore(Path)メソッドで指定されたとおりに機能します。
      パラメータ:
      path - ファイルへのパス
      戻り値:
      ファイルが格納されるファイル・ストア
      スロー:
      IOException - 入出力エラーが発生した場合
    • 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 - 入出力エラーが発生した場合
    • getFileAttributeView

      public abstract <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options)
      指定されたタイプのファイル属性ビューを返します。 このメソッドは、Files.getFileAttributeView(Path, Class, 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 - 入出力エラーが発生した場合
    • 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 - 入出力エラーが発生した場合
    • setAttribute

      public abstract void setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
      ファイル属性の値を設定します。 このメソッドは、Files.setAttribute(Path, String, Object, LinkOption...)メソッドで指定されたとおりに機能します。
      パラメータ:
      path - ファイルへのパス
      attribute - 設定する属性
      value - 属性値
      options - シンボリック・リンクの処理方法を示すオプション
      スロー:
      UnsupportedOperationException - 属性ビューが使用できない場合
      IllegalArgumentException - 属性名が指定されない場合、または認識されない場合、または属性値の型は正しいが値が不適切な場合
      ClassCastException - 属性値が予想される型でないか、予想される型でない要素を含むコレクションである場合
      IOException - 入出力エラーが発生した場合
    • exists

      public boolean exists(Path path, LinkOption... options)
      ファイルが存在するかどうかをテストします。 このメソッドは、Files.exists(Path, LinkOption...)メソッドで指定されたとおりに機能します。
      実装要件:
      このメソッドのデフォルトの実装では、シンボリック・リンクに従うとcheckAccess(Path, AccessMode...)メソッドが起動されます。 オプションNOFOLLOW_LINKSが存在する場合、シンボリック・リンクは追跡されず、ファイルが存在するかどうかを判断するためにメソッドreadAttributes(Path, Class, LinkOption...)が呼び出されます。
      パラメータ:
      path - テストするファイルへのパス
      options - シンボリック・リンクの処理方法を示すオプション
      戻り値:
      ファイルが存在する場合はtrue。ファイルが存在しないか、その存在を判断できない場合はfalse
      導入されたバージョン:
      20
    • readAttributesIfExists

      public <A extends BasicFileAttributes> A readAttributesIfExists(Path path, Class<A> type, LinkOption... options) throws IOException
      ファイルの属性が存在する場合、その属性を一括操作として読み取ります。

      typeパラメータは必要な属性のタイプで、このメソッドではそのタイプがサポートされている場合にそのインスタンスを返します。 すべての実装でファイル属性の基本セットがサポートされているため、このメソッドを BasicFileAttributes.classというtypeパラメータで呼び出した場合、 UnsupportedOperationExceptionはスローされません。

      options配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKSが存在する場合は、シンボリック・リンクはたどられません。

      ほかのファイル・システム操作に関して、すべてのファイル属性が原子的操作として読み取られるかどうかは実装固有です。

      実装要件:
      このメソッドのデフォルト実装では、readAttributes(Path, Class, LinkOption...)メソッドを呼び出してファイルの属性を読み取ります。
      型パラメータ:
      A - BasicFileAttributes
      パラメータ:
      path - ファイルへのパス
      type - 読み取る必要のあるファイル属性のClass
      options - シンボリック・リンクの処理方法を示すオプション
      戻り値:
      ファイル属性またはファイルが存在しない場合はnull
      スロー:
      UnsupportedOperationException - 指定されたタイプの属性がサポートされない場合
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      20