No. FileWriter
doesn’t let you specify the encoding, which is extremely annoying. It always uses the system default encoding. Just suck it up and use OutputStreamWriter
wrapping a FileOutputStream
. You can still wrap the OutputStreamWriter in a BufferedWriter of course:
BufferedWriter out = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(path), StandardCharsets.UTF_8));
Or as of Java 8:
BufferedWriter out = Files.newBufferedWriter(Paths.of(path));
(Of course you could change your system default encoding to UTF-8, but that seems a bit of an extreme measure.)