I would think using RMI with a byte Stream would be a good way to go. File class is Serializable, so no worries with passing it as a parameter, and you're only worried about copying the bytes, so Stream would do better than a Writer.
Here. Have a potato. I grew it in my armpit. And from my other armpit, this tiny ad:
Gift giving made easy with the permaculture playing cards