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: