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

はじめに

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, 2013, Oracle and/or its affiliates. All rights reserved.