如何强制 Javapoet 创建 UTF-8 Java 源代码?

How to force Javapoet to create UTF-8 Java source code?

有没有办法将 com.squareup.javapoet.JavaFile 写入文件系统并确保文件始终使用 UTF-8 编码?

目前我正在使用com.squareup.javapoet.JavaFile#writeTo(java.io.File dir),但这使用当前虚拟机的默认编码。

查看Javapoet的Github-Page,可以使用方法:

JavaFile.writeTo(PrintStream)

因此您应该能够使用 UTF-8 创建 PrintStream 并像这样编写文件:

PrintStream stream = new PrintStream("YourTargetFile.java", "UTF-8");
yourJavaFileObject.writeTo(stream);