日期:2014-05-20  浏览次数:20684 次

一个java自动打开文件的问题
我中java代码中想实现自动打开我的文档中的指定文件,我用的方法如下:
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c start C:\Documents and Settings\TC07\My Documents\工作量统计表_000065.xls" ); 

问题是:
路径带空格,所以打开时程序报错,请问应该如何解决呢?

------解决方案--------------------
路径加上引号试试,注意字符转换
------解决方案--------------------
这个打开文件的命令是在cmd方式执行的,也就是dos模式下,dos模式下路径文件夹和文件名长度只认8个字符,所以C:\Documents and Settings换成C:\Docume~1。
------解决方案--------------------
have a try
路径加上引号
rt.exec("cmd /c start \"C:\\Documents and Settings\\TC07\\My Documents\\工作量统计表_000065.xls\"" );


------解决方案--------------------
使用 java.awt.Desktop 类。
Java code
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);
}

------解决方案--------------------
public class Desktop extends ObjectDesktop

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