I Think Teme64's Right. Once Program copy 1 opens the file, I think the system locks it. I guess a solution around this, would be to have the program download a local copy, and work with it, then re-upload it.... but you are going to run into mad problems with keep things in order. I guess the way to do that would be, when they are finished working on it, the changes are submitted to some kind of server program, which waits for all copies that are opened to be closed. Then, it would check the timestamps of each uploaded file.... then it would have to basically modify one file, with any differences of the other, and do this for all the uploaded files, until you reach the one with the latest time stamp. Then, rename it to the main filename (after all changes were merged to it). What a mess that would be.
public class GrossmontBank
//class variables (global - accessible throughout this class)
//scanner object to be used throughout
private static Scanner input = new Scanner(System.in);