-
- すべてのスーパー・インタフェース:
AutoCloseable,Closeable,Flushable,JavaFileManager,OptionChecker
public interface StandardJavaFileManager extends JavaFileManager
java.io.Fileおよびjava.nio.file.Pathに基づくファイル・マネージャ。 このクラスのインスタンスを取得する一般的な方法は、getStandardFileManagerを使用することです。次に例を示します:JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
このファイル・マネージャは、通常のファイル、zipファイル・エントリ、または同様のファイル・システムに基づくコンテナ内のエントリを表すファイル・オブジェクトを作成します。 このインタフェースを実装しているファイル・マネージャから返されるファイル・オブジェクトは、次の動作に従う必要があります。DiagnosticCollector<JavaFileObject>diagnostics = newDiagnosticCollector<JavaFileObject>(); StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);- ファイル名は正規のものである必要はありません。
-
通常のファイルを表すファイル・オブジェクトの場合は次のようになります。
-
メソッド
FileObject.delete()はFile.delete()と同等です。 -
メソッド
FileObject.getLastModified()はFile.lastModified()と同等です。 -
FileObject.getCharContent(boolean)、FileObject.openInputStream()、およびFileObject.openReader(boolean)の各メソッドは、次に示すものが成功した場合に成功する必要がある(エンコーディングの問題は無視)。new FileInputStream(new File(fileObject.toUri()))
-
FileObject.openOutputStream()およびFileObject.openWriter()の各メソッドは、次に示すものが成功した場合に成功する必要がある(エンコーディングの問題は無視)。new FileOutputStream(new File(fileObject.toUri()))
-
メソッド
-
FileObject.toUri()から返されるURIは次のようになる必要があります。- 絶対的である(スキーマを持つ)。
- プロセス固有のコンテキスト(現在のディレクトリなど)なしで解決できる標準化されたパス・コンポーネントを持つ(ファイル名は絶対的である必要がある)。
-
file:///C:/Documents%20and%20Settings/UncleBob/BobsApp/Test.java -
jar:///C:/Documents%20and%20Settings/UncleBob/lib/vendorA.jar!/com/vendora/LibraryClass.class
-
file:BobsApp/Test.java(ファイル名が相対的で、現在のディレクトリに依存している) -
jar:lib/vendorA.jar!/com/vendora/LibraryClass.class(パスの前半は現在のディレクトリによって異なりますが、!の後のコンポーネントは有効です) -
Test.java(このURIは現在のディレクトリに依存しており、スキーマを持たない) -
jar:///C:/Documents%20and%20Settings/UncleBob/BobsApp/../lib/vendorA.jar!com/vendora/LibraryClass.class(パスが標準化されていない)
このインタフェースのすべての実装では、「デフォルトのファイルシステム」内のファイルを表すパス・オブジェクトがサポートされている必要があります。 実装では、任意のファイルシステムからのパス・オブジェクトをサポートすることをお勧めします。
- APIに関するノート:
- このインタフェースの一部のメソッドは、
Iterable<? extends Path>ではなくCollection<? extends Path>を使用します。 これは、PathがIterable<Path>を実装していても、これらのメソッドを単一のPathでコールし、そのコンポーネントのIterableとして処理することはほとんど正しくないため、このような引数として単一のPathを使用してメソッドを誤ってコールする可能性を回避するためです。 - 導入されたバージョン:
- 1.6
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static interfaceStandardJavaFileManager.PathFactory文字列からPathオブジェクトを作成するファクトリ。-
インタフェースjavax.toolsで宣言されたネストされたクラス/インタフェース。JavaFileManager
JavaFileManager.Location
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 default PathasPath(FileObject file)このファイル・オブジェクトの基礎となるパス(存在する場合)を返します(オプションの操作)。Iterable<? extends JavaFileObject>getJavaFileObjects(File... files)指定されたファイルを表すファイル・オブジェクトを返します。Iterable<? extends JavaFileObject>getJavaFileObjects(String... names)指定されたファイル名を表すファイル・オブジェクトを返します。default Iterable<? extends JavaFileObject>getJavaFileObjects(Path... paths)指定されたパスを表すファイル・オブジェクトを返します。Iterable<? extends JavaFileObject>getJavaFileObjectsFromFiles(Iterable<? extends File> files)指定されたファイルを表すファイル・オブジェクトを返します。default Iterable<? extends JavaFileObject>getJavaFileObjectsFromPaths(Iterable<? extends Path> paths)指定されたパスを表すファイル・オブジェクトを返します。Iterable<? extends JavaFileObject>getJavaFileObjectsFromStrings(Iterable<String> names)指定されたファイル名を表すファイル・オブジェクトを返します。Iterable<? extends File>getLocation(JavaFileManager.Location location)指定された場所に関連付けられた検索パスを返します。default Iterable<? extends Path>getLocationAsPaths(JavaFileManager.Location location)指定された場所に関連付けられた検索パスを返します。booleanisSameFile(FileObject a, FileObject b)2つのファイル・オブジェクトを比較し、それらが同一の正規のファイル、zipファイル・エントリ、またはファイル・システムに基づくコンテナ内のエントリを表している場合はtrueを返します。voidsetLocation(JavaFileManager.Location location, Iterable<? extends File> files)指定された検索パスを指定された場所に関連付けます。default voidsetLocationForModule(JavaFileManager.Location location, String moduleName, Collection<? extends Path> paths)指定された検索パスを、指定されたモジュールおよび場所に関連付けます。モジュール指向または出力の場所である必要があります。default voidsetLocationFromPaths(JavaFileManager.Location location, Collection<? extends Path> paths)指定された検索パスを指定された場所に関連付けます。default voidsetPathFactory(StandardJavaFileManager.PathFactory f)文字列または一連の文字列からパスを生成するために使用できるファクトリを指定します。-
インタフェースjavax.toolsで宣言されたメソッド。JavaFileManager
close, contains, flush, getClassLoader, getFileForInput, getFileForOutput, getJavaFileForInput, getJavaFileForOutput, getLocationForModule, getLocationForModule, getServiceLoader, handleOption, hasLocation, inferBinaryName, inferModuleName, list, listLocationsForModules
-
インタフェースjavax.toolsで宣言されたメソッド。OptionChecker
isSupportedOption
-
-
-
-
メソッドの詳細
-
isSameFile
boolean isSameFile(FileObject a, FileObject b)
2つのファイル・オブジェクトを比較し、それらが同一の正規のファイル、zipファイル・エントリ、またはファイル・システムに基づくコンテナ内のエントリを表している場合はtrueを返します。- 定義:
isSameFile、インタフェースJavaFileManager- パラメータ:
a- ファイル・オブジェクトb- ファイル・オブジェクト- 戻り値:
- 指定されたファイル・オブジェクトが同じ正規ファイル、Zipファイル・エントリまたはパスを表す場合はtrue、それ以外の場合はfalse
- 例外:
IllegalArgumentException- 一方の引数が別のファイル・マネージャ実装で作成された場合
-
getJavaFileObjectsFromFiles
Iterable<? extends JavaFileObject> getJavaFileObjectsFromFiles(Iterable<? extends File> files)
指定されたファイルを表すファイル・オブジェクトを返します。- パラメータ:
files- ファイルのリスト- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- ファイルのリストにディレクトリが含まれる場合
-
getJavaFileObjectsFromPaths
default Iterable<? extends JavaFileObject> getJavaFileObjectsFromPaths(Iterable<? extends Path> paths)
指定されたパスを表すファイル・オブジェクトを返します。- 実装要件:
- デフォルトの実装では、各パスがファイルに変換され、
getJavaObjectsFromFilesが呼び出されます。 IllegalArgumentExceptionは、いずれかのパスをファイルに変換できない場合、スローされます。 - パラメータ:
paths- パスのリスト- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- パス・リストにディレクトリが含まれているか、このファイル・マネージャが指定されたパスをサポートしていないか。- 導入されたバージョン:
- 9
-
getJavaFileObjects
Iterable<? extends JavaFileObject> getJavaFileObjects(File... files)
- パラメータ:
files- ファイルの配列- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- ファイルの配列にディレクトリが含まれる場合NullPointerException- 指定された配列にnull要素が含まれる場合
-
getJavaFileObjects
default Iterable<? extends JavaFileObject> getJavaFileObjects(Path... paths)
- パラメータ:
paths- パスの配列- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- ファイルの配列にディレクトリが含まれる場合NullPointerException- 指定された配列にnull要素が含まれる場合- 導入されたバージョン:
- 9
-
getJavaFileObjectsFromStrings
Iterable<? extends JavaFileObject> getJavaFileObjectsFromStrings(Iterable<String> names)
指定されたファイル名を表すファイル・オブジェクトを返します。- パラメータ:
names- ファイル名のリスト- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- ファイル名のリストにディレクトリが含まれる場合
-
getJavaFileObjects
Iterable<? extends JavaFileObject> getJavaFileObjects(String... names)
指定されたファイル名を表すファイル・オブジェクトを返します。 同等の簡易メソッドは、次のとおりです。getJavaFileObjectsFromStrings(Arrays.asList(names))- パラメータ:
names- ファイル名のリスト- 戻り値:
- ファイル・オブジェクトのリスト
- 例外:
IllegalArgumentException- ファイル名の配列にディレクトリが含まれる場合NullPointerException- 指定された配列にnull要素が含まれる場合
-
setLocation
void setLocation(JavaFileManager.Location location, Iterable<? extends File> files) throws IOException
指定された検索パスを指定された場所に関連付けます。 以前の値はすべて破棄されます。 場所がモジュール指向または出力の場所である場合、setLocationForModuleによって設定されたモジュール固有のアソシエーションは取り消されます。- パラメータ:
location- 場所files-nullがこの場所のデフォルト検索パスを使用する場合のファイルのリスト- 例外:
IllegalArgumentException-locationが出力場所であり、filesに1つの要素が含まれていない場合IOException-locationが出力場所であり、既存のディレクトリを表していない場合- 関連項目:
getLocation(javax.tools.JavaFileManager.Location)
-
setLocationFromPaths
default void setLocationFromPaths(JavaFileManager.Location location, Collection<? extends Path> paths) throws IOException
指定された検索パスを指定された場所に関連付けます。 以前の値はすべて破棄されます。 場所がモジュール指向または出力の場所である場合、setLocationForModuleによって設定されたモジュール固有のアソシエーションは取り消されます。- 実装要件:
- デフォルトの実装では、各パスがファイルに変換され、
getJavaObjectsFromFilesが呼び出されます。 IllegalArgumentExceptionは、いずれかのパスをファイルに変換できない場合、スローされます。 - パラメータ:
location- 場所paths-nullがこの場所のデフォルト検索パスを使用する場合のパスのリスト- 例外:
IllegalArgumentException-locationが出力場所であり、pathsに1つの要素が含まれていない場合、またはこのファイル・マネージャが指定されたパスのいずれかをサポートしていない場合IOException-locationが出力場所であり、pathsが既存のディレクトリを表していない場合- 導入されたバージョン:
- 9
- 関連項目:
getLocation(javax.tools.JavaFileManager.Location)
-
setLocationForModule
default void setLocationForModule(JavaFileManager.Location location, String moduleName, Collection<? extends Path> paths) throws IOException
指定された検索パスを、指定されたモジュールおよび場所に関連付けます。モジュール指向または出力の場所である必要があります。 以前の値はすべて破棄されます。 これは、場所自体に関連付けられた検索パスから導出されたデフォルトの関連付けをオーバーライドします。 setLocationまたはsetLocationFromPathsをコールして、新しい検索パスがロケーションに関連付けられている場合、このようなモジュール固有のアソシエーションはすべて取り消されます。- パラメータ:
location- 場所moduleName- モジュールの名前paths- 場所およびモジュールに関連付ける検索パス。- 例外:
IllegalStateException- 場所がモジュール指向または出力場所でない場合。UnsupportedOperationException- この操作がこのファイル・マネージャでサポートされていない場合。IOException-locationが出力場所であり、pathsが既存のディレクトリを表していない場合- 導入されたバージョン:
- 9
- 関連項目:
setLocation(javax.tools.JavaFileManager.Location,java.lang.Iterable<? extends java.io.File>),setLocationFromPaths(javax.tools.JavaFileManager.Location,java.util.Collection<? extends java.nio.file.Path>)
-
getLocation
Iterable<? extends File> getLocation(JavaFileManager.Location location)
指定された場所に関連付けられた検索パスを返します。- パラメータ:
location- 場所- 戻り値:
- ファイルのリスト、またはこの場所に検索パスが関連付けられていない場合は
null - 例外:
IllegalStateException- 検索パスのいずれかの要素を「ファイル」に変換できない場合、または検索パスを単純な一連のファイルとして表現できない場合。- 関連項目:
setLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable<? extends java.io.File>),Path.toFile()
-
getLocationAsPaths
default Iterable<? extends Path> getLocationAsPaths(JavaFileManager.Location location)
指定された場所に関連付けられた検索パスを返します。- 実装要件:
- デフォルトの実装では、
getLocationをコールし、getLocationから返された各FileでtoPath()をコールして形成されたIterableを戻します。 - パラメータ:
location- 場所- 戻り値:
- パスのリスト、またはこの場所に検索パスが関連付けられていない場合は
null - 例外:
IllegalStateException- 検索パスを単純な一連のパスとして表現できない場合。- 導入されたバージョン:
- 9
- 関連項目:
setLocationFromPaths(javax.tools.JavaFileManager.Location, java.util.Collection<? extends java.nio.file.Path>)
-
asPath
default Path asPath(FileObject file)
このファイル・オブジェクトの基礎となるパス(存在する場合)を返します(オプションの操作)。FileSystemから導出されたファイル・オブジェクト(デフォルトのファイル・システムを含む)には、通常、対応する基礎となるPathオブジェクトがあります。 このような場合、このメソッドを使用してそのオブジェクトにアクセスできます。- 実装要件:
- デフォルトの実装では、すべてのファイルに対して
UnsupportedOperationExceptionがスローされます。 - パラメータ:
file- ファイル・オブジェクト- 戻り値:
- 同じ基礎となるファイル・システム・アーティファクトを表すパス
- 例外:
IllegalArgumentException- ファイル・オブジェクトに基礎となるパスがない場合UnsupportedOperationException- 操作がこのファイル・マネージャでサポートされていない場合- 導入されたバージョン:
- 9
-
setPathFactory
default void setPathFactory(StandardJavaFileManager.PathFactory f)
文字列または一連の文字列からパスを生成するために使用できるファクトリを指定します。 このメソッドが呼び出されない場合は、getPathメソッドがjava.nio.file.Paths.get(first, more)の呼出しと同等であるファクトリが使用されます。- 実装要件:
- このメソッドのデフォルト実装では、提供されているファクトリは無視されます。
- パラメータ:
f- ファクトリ- 導入されたバージョン:
- 9
-
-