我写了一个注释处理器,我想把一些信息写入文本文件。在我的班上,我正在扩展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对象。这样,只有最后处理的源信息才能进入文本文件,尽管我想从所有注释方法(来自不同来源)获取信息到一个文本文件中。
答案 0 :(得分:0)
这可能会对您有所帮助:
new PrintWriter(new FileOutputStream(&#34; output.csv&#34;,true));