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