如何用Java语言判段一个文件已经打开(如Excel)!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【flysky305】截止到2008-06-24 09:19:02的历史汇总数据(不包括此帖):
    发帖数:14                 发帖分:910                
    结贴数:12                 结贴分:740                
    未结数:2                  未结分:170                
    结贴率:85.71 %            结分率:81.32 %            
    楼主加油
      

  2.   

    用try catch吧,有异常就没打开...HOHO~~~
      

  3.   

    尝试打开指定的文件,如果指定的文件已经打开,则会有异常抛出.============================================================
    欢迎java开发人员加入QQ群:3001581 讨论交流.
      

  4.   

    刚才去API中看了一圈,还真没有对应的函数,看来,也没有什么好办法喽
      

  5.   

    那就继续等待高手解答吧!
    我用了个土办法先应付着try
    {
      FileOutputStream fileo=new FileOutputStream(file,true);
    } catch (Exception e1)
    {
    //这里添加提示语句,说明文件已经打开 return;
    }
      

  6.   

    傻傻的试了一下,失败了,呵呵,public static void do3(){
    File f=new File("E:/temp/comic.sql");
    if(f.exists()){
    try{Thread.sleep(1000);}catch(Exception e){}
    System.out.println("now lastModify is "+f.lastModified());
    f=new File("E:/temp/comic.sql");
    if(f.exists()){
    try{Thread.sleep(1000);}catch(Exception e){}
    System.out.println("now lastModify is "+f.lastModified());
    }
    }
    }
      

  7.   

    问题已经解决了FileOutputStream fileo = new FileOutputStream(file, true);
    FileChannel fc = fileo.getChannel();
    FileLock lock = fc.tryLock();
    if (lock == null)
    {
    JOptionPane.showMessageDialog(null, "The file is being open,Please close it");
    return;
    }