|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface StandardJavaFileManager
基於 java.io.File 的檔案管理器。獲取此類別實例的一般方法是使用 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 (路徑沒有標準化)
| 巢狀類別摘要 |
|---|
| 從介面 javax.tools.JavaFileManager 繼承的巢狀類別/介面 |
|---|
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)
比較兩個檔案物件,如果它們表示相同的規範檔案、zip 檔案條目或者基於任何檔案系統的容器中的條目,則返回 true。 |
void |
setLocation(JavaFileManager.Location location,
Iterable<? extends File> path)
將給定路徑與給定位置關聯。 |
| 從介面 javax.tools.JavaFileManager 繼承的方法 |
|---|
close, flush, getClassLoader, getFileForInput, getFileForOutput, getJavaFileForInput, getJavaFileForOutput, handleOption, hasLocation, inferBinaryName, list |
| 從介面 javax.tools.OptionChecker 繼承的方法 |
|---|
isSupportedOption |
| 方法詳細資訊 |
|---|
boolean isSameFile(FileObject a,
FileObject b)
JavaFileManager 中的 isSameFilea - 檔案物件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 - 如果位置為一個輸出位置並且路徑不完全包含一個元素
IOException - 如果位置是一個輸出位置並且路徑不表示現有目錄getLocation(javax.tools.JavaFileManager.Location)Iterable<? extends File> getLocation(JavaFileManager.Location location)
location - 位置
nullsetLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable extends java.io.File>)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。