如何使用AnnotationProcessor在带有特定包的java(生成)目录中编写kotlin文件



我正在使用注释处理来生成一些代码我需要在特定的包中创建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) {
.....

}
}

我认为在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();
}
}

最新更新