在写之前,你是不要open一下啊?
如果open能返回正常的值就说明没有人打开啊!要不然你可以用关键字synchronized也应该可以的,不过那就是多线程编程了!

解决方案 »

  1.   

    写文件的过程用同步方法(synchronized)。
      

  2.   

    程序操作的是Excel文件,是判断是否有人用excel在打开该文件,我不能同步别人的程序阿
      

  3.   

    这和其它软件打开文件的方式有关.如果是excel, 试试:    File f = new File("e:\\test.xls");
        if(!f.renameTo(f)){
           System.out.println("someone use it now.");
        }