public interface StandardJavaFileManager extends JavaFileManager
javacompiler = toolprovider getsystemjavacompiler()编译器;这个文件管理器创建代表定期 files,文件对象 zip file entries条目,或类似的文件系统为基础的容器。任何文件返回的对象实现此接口的文件管理器必须遵守下列行为:DiagnosticCollector<JavaFileObject>
诊断=新的DiagnosticCollector<JavaFileObject>()
;standardjavafilemanager FM =编译器。getstandardfilemanager(诊断,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()
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
Modifier and Type | Method and Description |
---|---|
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)
比较两个文件对象和返回真,如果他们代表相同的规范文件,压缩文件的条目,或在任何文件系统为基础的容器中的条目。
|
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
-文件数组
IllegalArgumentException
如果文件阵列包括一个目录
NullPointerException
-如果指定数组包含null元素
Iterable<? extends JavaFileObject> getJavaFileObjectsFromStrings(Iterable<String> names)
names
-文件名列表
IllegalArgumentException
如果文件名列表中包括一个目录
Iterable<? extends JavaFileObject> getJavaFileObjects(String... names)
getjavafileobjectsfromstrings(Arrays.asList(地名))相当方便
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
-位置
null
这个位置如果没有相关联的路径
setLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable<? extends java.io.File>)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.