What happens if File.exists() returns true, then someone deletes the file/your NFS mount goes away, then you try and open the file? Basically, File.exists() is useless since you need to handle the exceptions that can arise from opening the file anyway.