For sending files you can’t just send the File object, unlike with most other objects since the File object is just an address, not the actual file’s bytes.
See the Java Tutorial for info, but here’s the rounda-about code that should give you an idea of how it works (but definitely won’t compile):
File aFile = new File(“C:/etc.txt”);
// What you need to do is read the file in as a byte[] array, so
BufferedInputStream in = new BufferedInputStream(new FileInputStream(aFile));
byte[] bytes = null;
in.readBytes(bytes); // this line is not right, I think you have to loop thru doing reads until you get -1 returned…
//now that we have the file’s bytes, just send the bytes out over a Socket or whatever by getting its OutputStream
someSocket.getOutputStream().write(bytes);
To recieve the bytes on the other computer,
InputStream in = someOtherSocket.getInputStream();
byte[] bytes = new byte[in.available()];
someOtherSocket.read(bytes);
// now that we have the bytes, write them to the drive.
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(“C:/etc2.txt”)));
out.write(bytes);
This code is probably completely wrong, its just off the top of my head. Definitely consult the Java Tutorial, they explain it & give examples. At least my code shows that writing/reading a file’s bytes & saving them to the computer is harder than writing/reading objects, but I’m sure you’re up to the job 
Keith