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