aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/squareup/javapoet/JavaFile.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/squareup/javapoet/JavaFile.java')
-rw-r--r--src/main/java/com/squareup/javapoet/JavaFile.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/JavaFile.java b/src/main/java/com/squareup/javapoet/JavaFile.java
index e7662dd..41f6439 100644
--- a/src/main/java/com/squareup/javapoet/JavaFile.java
+++ b/src/main/java/com/squareup/javapoet/JavaFile.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.URI;
+import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
@@ -83,6 +84,14 @@ public final class JavaFile {
/** Writes this to {@code directory} as UTF-8 using the standard directory structure. */
public void writeTo(Path directory) throws IOException {
+ writeTo(directory, UTF_8);
+ }
+
+ /**
+ * Writes this to {@code directory} with the provided {@code charset}
+ * using the standard directory structure.
+ */
+ public void writeTo(Path directory, Charset charset) throws IOException {
checkArgument(Files.notExists(directory) || Files.isDirectory(directory),
"path %s exists but is not a directory.", directory);
Path outputDirectory = directory;
@@ -94,7 +103,7 @@ public final class JavaFile {
}
Path outputPath = outputDirectory.resolve(typeSpec.name + ".java");
- try (Writer writer = new OutputStreamWriter(Files.newOutputStream(outputPath), UTF_8)) {
+ try (Writer writer = new OutputStreamWriter(Files.newOutputStream(outputPath), charset)) {
writeTo(writer);
}
}