JavaTM 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 Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策