如何使用AnnotationProcessor在java(generated)目录中编写特定包的Kotlin文件

6

我正在使用注解处理器生成一些代码,需要在特定的包中创建一个Kotlin文件。这是我的代码:

@AutoService(Processor.class)
@IncrementalAnnotationProcessor(IncrementalAnnotationProcessorType.DYNAMIC)
@SuppressWarnings("NullAway")
public final class MyProcessor extends AbstractProcessor {
 
   @Override
   public boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) {
     ....
   }

   private void writeKotlinFile(String pack, String fileName, String fileContent, Element it) {
     .....
       
    }
}
1个回答

3

我认为您需要在writeKolinFilee函数中像这样使用OutputStream

private void writeKotlinFile(String pack, String fileName, String fileContent, Element it) {
    try {
        FileObject filerSourceFile = processingEnv.getFiler().createResource(StandardLocation.SOURCE_OUTPUT,
            pack, fileName + ".kt", it);
        OutputStream outputStream = filerSourceFile.openOutputStream();
        outputStream.write(fileContent.getBytes());
        outputStream.flush();
        outputStream.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接