カスタム・ファイル・システム・プロバイダの開発

はじめに

Java SE 7リリースで導入されたNIO.2 APIは、ファイル・システム・オブジェクトを管理するために使用できるカスタム・ファイル・システム・プロバイダを開発する機能を提供します。ファイル・システムは、基本的にファイル・システム・オブジェクトと呼ばれる組織化された同種の要素を含むコンテナです。ファイル・システムは、ファイル・システム・オブジェクトへのアクセスを提供します。ファイル・システム・オブジェクトは、ファイル・ストア、ファイル、またはディレクトリです。ファイル・ストアは、ファイルが格納されるボリュームまたはパーティションです。たとえば、Windowsプラットフォーム上などのネイティブ・ファイル・システムでは、よく知られているc:d:などのドライブがファイル・ストアです。Solarisオペレーティング・システムでは、/ (ルート)およびマウントされたディレクトリがファイル・ストアと見なされます。

java.nio.file.spi.FileSystemProviderクラスを使用すると、カスタム・ファイル・システム・プロバイダを開発できます。カスタム・ファイル・システム・プロバイダは、次のような状況で使用できます。

java.nio.file.spi.FileSystemProviderクラスの概要

カスタム・ファイル・システム・プロバイダは、java.nio.file.spi.FileSystemProviderクラスを実装する必要があります。ファイル・システム・プロバイダは、filejarmemorycdなどのURIスキームによって識別されます。

java.nio.file.spi.FileSystemProviderクラスの実装は、java.nio.file.FileSystemクラスのインスタンスのファクトリです。ファイル・システムのURIには、それを作成したファイル・システム・プロバイダのURIスキームと一致するURIスキームが含まれています。

ファイル・システムを作成するにはnewFileSystemメソッドを使用し、既存のファイル・システムへの参照を取得するにはgetFileSystemメソッドを使用します。

カスタム・ファイル・システム・プロバイダの実装

ここでは、java.nio.file.spi.FileSystemProvider APIを使ってカスタム・ファイル・システム・プロバイダを作成するために必要な大まかな手順について説明します。JDKインストールのdemo/nio/zipfsに含まれているZipFileSystemProviderクラスは、カスタム・ファイル・システム・プロバイダの例です。Zipファイル・システム・プロバイダについては、「リソース」を参照してください。

カスタム・ファイル・システム・プロバイダ・クラスの実装

カスタム・ファイル・システム・プロバイダ・クラスを実装するには、次の操作を実行します。

カスタム・ファイル・システム・クラスの実装

カスタム・ファイル・システム・クラスを実装するには、次の操作を実行します。

リソース


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.