I have a java program with 20 threads. Each tread uses a different PrintWriter that is already open to write to a seperate text file. The problem is that I get a java.lang.OutOfMemory error after a certain period of time. I was wondering if anyone could tell me if PrintWriter needs to use more memory as the size of the text file increases. If so is there anyway to perform these write operations without incurring an out of memory error, or does the PrintWriter strain on memory remain static regardless of the size of the text file.