What is the most efficient/elegant way to dump a StringBuilder to a text file?
You can do:
outputStream.write(stringBuilder.toString().getBytes());
But is this efficient for a very long file?
Is there a better way?
As pointed out by others, use a Writer, and use a BufferedWriter, but then don't call writer.write(stringBuilder.toString());
instead just writer.append(stringBuilder);
.
EDIT: But, I see that you accepted a different answer because it was a one-liner. But that solution has two problems:
it doesn't accept a java.nio.Charset
. BAD. You should always specify a Charset explicitly.
it's still making you suffer a stringBuilder.toString()
. If the simplicity is really what you're after, try the following from the Guava project:
Files.write(stringBuilder, file, Charsets.UTF_8)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With