繁体   English   中英

注释处理器:使用process()方法写入文件

[英]Annotation processor: file writing from the process() method

我写了一个注释处理器,我想将一些信息写到文本文件中。 在我的课堂上,我扩展了AbstractProcessor并覆盖了

public void init(ProcessingEnvironment processingEnv)

public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)

方法。

init()方法中,我正在创建一个新的PrintWriter (例如,这种方式: writer = new PrintWriter("output.csv", "UTF-8");

我用它在process()方法中将一些文本打印到文件中。

问题是,(当我在不同软件包中的多个源上使用处理器时)在处理新源时总是会重新创建文件( output.csv )(因为每次都会创建一个新的Processor对象)。 这样,只有最后处理的源的信息获取到文本文件中,但我想从所有的注解的方法(从不同的源)到一个文本文件中获取信息。

这可能对您有帮助:

new PrintWriter(new FileOutputStream(“ output.csv”,true));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM