- java.lang.Object
-
- javax.tools.SimpleJavaFileObject
-
- All Implemented Interfaces:
-
FileObject,JavaFileObject
public class SimpleJavaFileObject extends Object implements JavaFileObject
为JavaFileObject中的大多数方法提供简单的实现。 该类被设计为子类化,并用作JavaFileObject实现的基础。 只要符合JavaFileObject的一般合约,子类就可以覆盖此类的任何方法的实现和规范。- 从以下版本开始:
- 1.6
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface javax.tools.JavaFileObject
JavaFileObject.Kind
-
-
Field Summary
Fields Modifier and Type Field 描述 protected JavaFileObject.Kindkind这种文件对象的种类。protected URIuri此文件对象的URI。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedSimpleJavaFileObject(URI uri, JavaFileObject.Kind kind)构造给定类型的SimpleJavaFileObject和给定的URI。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 booleandelete()这个实现什么都不做。ModifiergetAccessLevel()此实现返回null。CharSequencegetCharContent(boolean ignoreEncodingErrors)这个实现总是抛出UnsupportedOperationException 。JavaFileObject.KindgetKind()返回此文件对象的种类。longgetLastModified()此实现返回0L。StringgetName()返回此文件对象的用户友好名称。NestingKindgetNestingKind()此实现返回null。booleanisNameCompatible(String simpleName, JavaFileObject.Kind kind)此实现将其URI的路径与给定的简单名称进行比较。InputStreamopenInputStream()这个实现总是抛出UnsupportedOperationException 。OutputStreamopenOutputStream()这个实现总是抛出UnsupportedOperationException 。ReaderopenReader(boolean ignoreEncodingErrors)将 getCharContent(boolean)的结果 包装在阅读器中。WriteropenWriter()在Writer中将openOutputStream的结果包起来。StringtoString()返回对象的字符串表示形式。URItoUri()返回标识此文件对象的URI。
-
-
-
字段详细信息
-
uri
protected final URI uri
此文件对象的URI。
-
kind
protected final JavaFileObject.Kind kind
这种文件对象的种类。
-
-
构造方法详细信息
-
SimpleJavaFileObject
protected SimpleJavaFileObject(URI uri, JavaFileObject.Kind kind)
构造给定类型的SimpleJavaFileObject和给定的URI。- 参数
-
uri- 此文件对象的URI -
kind- 这个文件对象的种类
-
-
方法详细信息
-
toUri
public URI toUri()
说明从界面FileObject复制返回标识此文件对象的URI。- Specified by:
-
toUri在接口FileObject - 结果
- 一个URI
-
getName
public String getName()
说明从界面FileObject复制返回此文件对象的用户友好名称。 没有指定返回的确切值,但实现应该小心保留用户给出的名称。 例如,如果用户在命令行中写入文件"BobsApp\Test.java",则此方法应返回"BobsApp\Test.java"而toUri方法可能会返回file:///C:/Documents%20and%20Settings/UncleBob/BobsApp/Test.java。- Specified by:
-
getName在接口FileObject - 结果
- 用户友好的名称
-
openInputStream
public InputStream openInputStream() throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
openInputStream在接口FileObject - 结果
- 一个InputStream
- 异常
-
IOException- 如果发生I / O错误
-
openOutputStream
public OutputStream openOutputStream() throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
openOutputStream在接口FileObject - 结果
- 一个OutputStream
- 异常
-
IOException- 如果发生I / O错误
-
openReader
public Reader openReader(boolean ignoreEncodingErrors) throws IOException
将getCharContent(boolean)的结果包装在阅读器中。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
openReader在接口FileObject - 参数
-
ignoreEncodingErrors- 如果为true,则忽略编码错误 - 结果
- 一个包装getCharContent结果的Reader
- 异常
-
IllegalStateException- 如果此文件对象被打开以进行写入,并且不支持读取 -
UnsupportedOperationException- 如果这种文件对象不支持字符访问 -
IOException- 如果发生I / O错误
-
getCharContent
public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException
这个实现总是抛出UnsupportedOperationException 。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
getCharContent在接口FileObject - 参数
-
ignoreEncodingErrors- 忽略编码错误,如果为true - 结果
-
一个CharSequence(如果有的话)
null否则 - 异常
-
IOException- 如果发生I / O错误
-
openWriter
public Writer openWriter() throws IOException
在Writer中将openOutputStream的结果包起来。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
openWriter在接口FileObject - 结果
- 一个Writer包装了openOutputStream的结果
- 异常
-
IllegalStateException- 如果此文件对象被打开以供阅读,并且不支持写入 -
UnsupportedOperationException- 如果这种文件对象不支持字符访问 -
IOException- 如果发生I / O错误
-
getLastModified
public long getLastModified()
此实现返回0L。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
getLastModified在接口FileObject - 结果
-
0L
-
delete
public boolean delete()
这个实现什么都不做。 只要符合FileObject的合同,子类就可以改变这种行为。- Specified by:
-
delete在接口FileObject - 结果
-
false
-
getKind
public JavaFileObject.Kind getKind()
描述从接口JavaFileObject复制返回此文件对象的种类。- Specified by:
-
getKind在接口JavaFileObject - 结果
-
this.kind
-
isNameCompatible
public boolean isNameCompatible(String simpleName, JavaFileObject.Kind kind)
此实现将其URI的路径与给定的简单名称进行比较。 如果给定的那种等于样本对象的此方法返回true,并且如果路径是等于simpleName + kind.extension,或者如果它结尾"/" + simpleName + kind.extension。该方法调用
getKind()和toUri(),并且不直接访问字段uri和kind。只要符合
JavaFileObject的合同,子类就可以改变这种行为。- Specified by:
-
isNameCompatible在接口JavaFileObject - 参数
-
simpleName- 类的简单名称 -
kind- 一种 - 结果
-
true如果这个文件对象是兼容的; 否则为假
-
getNestingKind
public NestingKind getNestingKind()
此实现返回null。 只要符合JavaFileObject的合同,子类就可以改变这种行为。- Specified by:
-
getNestingKind在接口JavaFileObject - 结果
-
嵌套类型,或
null如果嵌套类型不知道
-
getAccessLevel
public Modifier getAccessLevel()
此实现返回null。 只要符合JavaFileObject的合同,子类就可以改变这种行为。- Specified by:
-
getAccessLevel在接口JavaFileObject - 结果
- 访问级别
-
toString
public String toString()
描述从类复制:Object返回对象的字符串表示形式。 一般来说,toString方法返回一个“toString代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。该
toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:getClass().getName() + '@' + Integer.toHexString(hashCode())
-
-