我中java代码中想实现自动打开我的文档中的指定文件,我用的方法如下:
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c start C:\Documents and Settings\TC07\My Documents\工作量统计表_000065.xls" ); 问题是:
路径带空格,所以打开时程序报错,请问应该如何解决呢?

解决方案 »

  1.   

    这个打开文件的命令是在cmd方式执行的,也就是dos模式下,dos模式下路径文件夹和文件名长度只认8个字符,所以C:\Documents and Settings换成C:\Docume~1。
      

  2.   

    我也是想这么解决的,可是不行,我是这么写的:
    rt.exec("cmd /c start " + "\"" + bomExportPath +bomName + "\"" ); 
    bomExportPath :我选的就是C:\Documents and Settings\TC07\My Documents\
    bomName:我选的是工作量统计表_000065.xls但结果是打开了DOS窗口,没有打开文件。
      

  3.   

    have a try
    路径加上引号
    rt.exec("cmd /c start \"C:\\Documents and Settings\\TC07\\My Documents\\工作量统计表_000065.xls\"" );  
      

  4.   

    使用 java.awt.Desktop 类。
    if(Desktop.isDesktopSupported()){
        File worksheet = new File("C:\\Documents and Settings\\TC07\\My Documents\\工作量统计表_000065.xls")
        Desktop.getDesktop().open(worksheet); // or Desktop.getDesktop().edit(worksheet);
    }
      

  5.   

    public class Desktop extends ObjectDesktop 类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件。 
      

  6.   


    java.awt中没有 Desktop这个类啊!