I had to write a program that processes XML files with 1 to 2 gigs of data. I divide these files into multiple files. I have a common denominator I will group them again and parse and finally(final object), I write it out to a text file(pipe delimited). I will be processing multiple files at the same time. I have problem remembering the output file at the time of writing. For every xml file, I create a output file with the same name+".txt" extension. I can pass the file name to the final object, but I need to open the file and write it, I cannot create the file in final object, as it is already created, andi will be simultaneously writing it with several threads. I am not sure if i explained it properly, can somebody help me here. Let me make it more simple. I have a method, where i get a file name. I need to write to that file. I need to open and write to that file.