public class FileBackedStringBuffer
A string buffer that flushes its content to a temporary file whenever the internal string buffer becomes larger than
MAX. If the buffer never reaches that size, no file is ever created and everything happens in memory, so the overhead
compared to StringBuffer/StringBuilder is minimal.
To avoid entire string to be loaded in memory, we can use toWriter() method.