Merge "Fix potential issues related to CFG printing"
diff --git a/src/main/java/com/android/tools/r8/D8.java b/src/main/java/com/android/tools/r8/D8.java
index af67b41..6988b06 100644
--- a/src/main/java/com/android/tools/r8/D8.java
+++ b/src/main/java/com/android/tools/r8/D8.java
@@ -17,7 +17,10 @@
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.ThreadUtils;
import com.android.tools.r8.utils.Timing;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.NoSuchFileException;
import java.nio.file.Paths;
@@ -203,9 +206,11 @@
if (options.printCfgFile == null || options.printCfgFile.isEmpty()) {
System.out.print(printer.toString());
} else {
- java.io.FileWriter writer = new java.io.FileWriter(options.printCfgFile);
- writer.write(printer.toString());
- writer.close();
+ try (OutputStreamWriter writer = new OutputStreamWriter(
+ new FileOutputStream(options.printCfgFile),
+ StandardCharsets.UTF_8)) {
+ writer.write(printer.toString());
+ }
}
}
return application;
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 4867b54..3f6fcd4 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -45,9 +45,12 @@
import com.google.common.io.ByteStreams;
import com.google.common.io.Closer;
import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.PrintStream;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
@@ -125,9 +128,11 @@
if (options.printCfgFile == null || options.printCfgFile.isEmpty()) {
System.out.print(printer.toString());
} else {
- java.io.FileWriter writer = new java.io.FileWriter(options.printCfgFile);
- writer.write(printer.toString());
- writer.close();
+ try (OutputStreamWriter writer = new OutputStreamWriter(
+ new FileOutputStream(options.printCfgFile),
+ StandardCharsets.UTF_8)) {
+ writer.write(printer.toString());
+ }
}
}
return application;