注释处理器:从process()方法

时间:2016-09-28 09:04:10

标签: java annotations annotation-processing

我写了一个注释处理器,我想把一些信息写入文本文件。在我的班上,我正在扩展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对象。这样,只有最后处理的源信息才能进入文本文件,尽管我想从所有注释方法(来自不同来源)获取信息到一个文本文件中。

1 个答案:

答案 0 :(得分:0)

这可能会对您有所帮助:

new PrintWriter(new FileOutputStream(&#34; output.csv&#34;,true));