public interface StandardJavaFileManager extends JavaFileManager
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
(パスが標準化されていない)
JavaFileManager.Location
修飾子と型 | メソッドと説明 |
---|---|
Iterable<? extends JavaFileObject> |
getJavaFileObjects(File... files)
指定されたファイルを表すファイル・オブジェクトを取得します。
|
Iterable<? extends JavaFileObject> |
getJavaFileObjects(String... names)
指定されたファイル名を表すファイル・オブジェクトを取得します。
|
Iterable<? extends JavaFileObject> |
getJavaFileObjectsFromFiles(Iterable<? extends File> files)
指定されたファイルを表すファイル・オブジェクトを取得します。
|
Iterable<? extends JavaFileObject> |
getJavaFileObjectsFromStrings(Iterable<String> names)
指定されたファイル名を表すファイル・オブジェクトを取得します。
|
Iterable<? extends File> |
getLocation(JavaFileManager.Location location)
指定された場所に関連付けられているパスを取得します。
|
boolean |
isSameFile(FileObject a, FileObject b)
2つのファイル・オブジェクトを比較し、それらが同一の正規のファイル、zipファイル・エントリ、またはファイル・システムに基づくコンテナ内のエントリを表している場合はtrueを返します。
|
void |
setLocation(JavaFileManager.Location location, Iterable<? extends File> path)
指定されたパスと指定された場所を関連付けます。
|
close, flush, getClassLoader, getFileForInput, getFileForOutput, getJavaFileForInput, getJavaFileForOutput, handleOption, hasLocation, inferBinaryName, list
isSupportedOption
boolean isSameFile(FileObject a, FileObject b)
isSameFile
、インタフェース: JavaFileManager
a
- ファイル・オブジェクトb
- ファイル・オブジェクトIllegalArgumentException
- 一方の引数が別のファイル・マネージャ実装で作成された場合Iterable<? extends JavaFileObject> getJavaFileObjectsFromFiles(Iterable<? extends File> files)
files
- ファイルのリストIllegalArgumentException
- ファイルのリストにディレクトリが含まれる場合Iterable<? extends JavaFileObject> getJavaFileObjects(File... files)
getJavaFileObjectsFromFiles(Arrays.asList(files))
files
- ファイルの配列IllegalArgumentException
- ファイルの配列にディレクトリが含まれる場合NullPointerException
- 指定された配列にnull要素が含まれる場合Iterable<? extends JavaFileObject> getJavaFileObjectsFromStrings(Iterable<String> names)
names
- ファイル名のリストIllegalArgumentException
- ファイル名のリストにディレクトリが含まれる場合Iterable<? extends JavaFileObject> getJavaFileObjects(String... names)
getJavaFileObjectsFromStrings(Arrays.asList(names))
names
- ファイル名のリストIllegalArgumentException
- ファイル名の配列にディレクトリが含まれる場合NullPointerException
- 指定された配列にnull要素が含まれる場合void setLocation(JavaFileManager.Location location, Iterable<? extends File> path) throws IOException
location
- 場所path
- ファイルのリスト。null
の場合、この場所のデフォルトのパスを使用IllegalArgumentException
- 場所が出力場所であり、パスに含まれる要素が厳密に1個でない場合IOException
- 場所が出力場所であり、パスが既存のディレクトリを表していない場合getLocation(javax.tools.JavaFileManager.Location)
Iterable<? extends File> getLocation(JavaFileManager.Location location)
location
- 場所null
setLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable<? extends java.io.File>)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.