已经知道文件的全路径+文件名
请问如何在java程序中调用电脑中相对应的应用程序去打开该文件比如在MFC中就有ShellExecute()这个函数,那么在java中如何操作呢?

解决方案 »

  1.   

    java.lang.Runtime.getRuntime().exec("c:/windows/notepad.exe");
      

  2.   

    谢谢,
    但是这不是我要的答案,可能是我的描述不清楚。
    我得意思是: 现在我已经知道有一个文件如 c:\gg\my.doc
    我希望在程序中调用相应的应用程序,去打开c:\gg\my.doc
    谢谢
      

  3.   

    java.lang.Runtime.getRuntime().exec("c:\\gg\\my.doc");这样不就可以了吗?
    你是要打开文件的话,就是上面的,如果你要是读取里面的数据的话,如下:
    File filedoc = new File("c:\\gg\\my.doc");
    BufferedReader in = new BufferedReader((new FileReader(filedoc)));
    while ((s = in.readLine()) != null) {
      ..........
    }也可以用其它的方法,看你的需求而定了。这里是一行行读取出数据
      

  4.   

    lz意思是:
    java.lang.Runtime.getRuntime().exec("c:/windows/notepad.exe  abc.txt");
    试试:
    java.lang.Runtime.getRuntime().exec("c:/Program Files/Microsoft Office/OFFICE11/WINWORD  c:\gg\my.doc");
    word的路径不一定适合你.
      

  5.   

    更正一下:
    java.lang.Runtime.getRuntime().exec("c:/Program Files/Microsoft Office/OFFICE11/WINWORD.exe  c:\gg\my.doc");
      

  6.   

    我无语了,问题是我怎么知道office软件,或是其他的软件安装在哪个目录下,
    同时,文件的种类是各式各样的,这样就不能在程序中制定用哪个程序打开了
      

  7.   

    没办法了, Java 里必须要指定程序名的。
    如果你用的是 Windows XP (不知道 2000 有没有,应该有吧)以上版本,可以这样Runtime.getRuntime.exec("c:/windows/cmd.exe /c start tttttttt.txt");
      

  8.   

    jamesfancy(边城狂人) ( ) 信誉:116    Blog  2006-08-31 09:04:00  得分: 0  
     
     
       没办法了, Java 里必须要指定程序名的。
    如果你用的是 Windows XP (不知道 2000 有没有,应该有吧)以上版本,可以这样Runtime.getRuntime.exec("c:/windows/cmd.exe /c start tttttttt.txt");
      
    -----------------------------------------------------------------------
    我就是这样用写一个bat文件。就好了废话,如果没有装office,你能打开word?写一个bat吧,从注册表中得到office/word路径。