java中应该不会提供这种找关联程序的支持,因为不同平台存储这种关联的方式都不同,所以还是针对特定的文件类型,指明打开的程序吧。

解决方案 »

  1.   

    可以
    Runtime rt=Runtime.getRuntime();
    File f=new File();
    rt.exec(file.getAbsolutePath());
      

  2.   

    楼上,你这个好像是windows提供的关联吧,不是java提供的,或许在低版本的windows里也没有提供
      

  3.   

    呵呵,这样只能对那些EXE文件起作用
    像TXT或者RAR这样的不可执行的会出现IOEXCEPTION
      

  4.   

    对txt文件要用rt.exec("NotePad.exe c:\\website.txt");
    其他的类推
      

  5.   

    jni
    Java Native Interface
      

  6.   

    可以自动找到,
    你可以把要执行的文件的路径信息利用java的文件读写,写到一个批处理文件里,然后从java里执行改批处理文件的内容就可以了。
    我已经这样写过了,好使。
    批处理文件比如说是1.bat
    内容是:F:\1.txt
    然后
     try{      Process p = Runtime.getRuntime().exec("C://1.bat");
          p.waitFor();    }catch(Exception ee){
          ee.printStackTrace();
        }
      

  7.   

    呵呵,多谢FGS,不过我有个小小的问题,为什么会是C://1.bat而不是C:\1.bat呢?
    呵呵,多谢阿
      

  8.   

    呵呵,我知道了,是转义符
    不过FGS,还有一个问题,就是那个bat文件里面的内容,如果文件路径里面有空格的就不行
    例如:f:\a b\1.txt,就执行不了,呵呵,这个问题怎么解决阿,不要告诉我所有文件夹都不要空格阿
    呵呵,多谢了