簡體   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