JavaTM 2 Platform
Standard Ed. 6

javax.tools
介面 StandardJavaFileManager

所有父級介面:
Closeable, Flushable, JavaFileManager, OptionChecker

public interface StandardJavaFileManager
extends JavaFileManager

基於 java.io.File 的檔案管理器。獲取此類別實例的一般方法是使用 getStandardFileManager,例如:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics =
new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);
 
此檔案管理器創建的檔案物件表示常規檔案zip 檔案條目或者基於類似檔案系統的容器中的條目。從實作此介面的檔案管理器返回的任何檔案對象都必須遵守以下行為: 根據這些規則,以下 URI 是允許的: 而以下 URI 不允許(原因在括號中註明):

從以下版本開始:
1.6

巢狀類別摘要
 
從介面 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
 

方法詳細資訊

isSameFile

boolean isSameFile(FileObject a,
                   FileObject b)
比較兩個檔案物件,如果它們表示相同的規範檔案、zip 檔案條目或者基於任何檔案系統的容器中的條目,則返回 true。

指定者:
介面 JavaFileManager 中的 isSameFile
參數:
a - 檔案物件
b - 檔案物件
返回:
如果給定的檔案物件表示相同的規範檔案或 zip 檔案條目,則返回 true;否則返回 false。
拋出:
IllegalArgumentException - 如果其中一個參數是使用另一個檔案管理器實作創建的

getJavaFileObjectsFromFiles

Iterable<? extends JavaFileObject> getJavaFileObjectsFromFiles(Iterable<? extends File> files)
獲取表示給定檔案的檔案物件。

參數:
files - 檔案列表
返回:
檔案物件列表
拋出:
IllegalArgumentException - 如果檔案列表包含目錄

getJavaFileObjects

Iterable<? extends JavaFileObject> getJavaFileObjects(File... files)
獲取表示給定檔案的檔案物件。一個便捷方法,等效於:
getJavaFileObjectsFromFiles(Arrays.asList(files))
 

參數:
files - 檔案陣列
返回:
檔案物件列表
拋出:
IllegalArgumentException - 如果檔案陣列包含目錄
NullPointerException - 如果給定陣列包含 null 元素

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> path)
                 throws IOException
將給定路徑與給定位置關聯。丟棄所有以前的值。

參數:
location - 位置
path - 檔案列表,如果為 null,則使用此位置的預設路徑
拋出:
IllegalArgumentException - 如果位置為一個輸出位置並且路徑不完全包含一個元素
IOException - 如果位置是一個輸出位置並且路徑不表示現有目錄
另請參見:
getLocation(javax.tools.JavaFileManager.Location)

getLocation

Iterable<? extends File> getLocation(JavaFileManager.Location location)
獲取與給定位置關聯的路徑。

參數:
location - 位置
返回:
檔案列表,如果此位置沒有關聯路徑,則返回 null
另請參見:
setLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only