推荐第二个,简单粗暴,Main方法实测有效
Java打开本地文件:
1借助java.lang.ProcessBuilder打开
/**
* 借助java.lang.ProcessBuilder打开
*/
private static void useProcessBuilder() throws IOException{
//new ProcessBuilder("notepad.exe", "C:/Users/Jadyer/Desktop/test file/readme.txt").start();
List<String> commands = new ArrayList<String>();
commands.add("D:/Program Files/WPS/9.1.0.4047/office6/wps.exe");
commands.add("C:/Users/Jadyer/Desktop/test file/myResume.doc");
new ProcessBuilder(commands).start();
}
2借助java.awt.Desktop打开
/**
* 借助java.awt.Desktop打开
* @see 打开的目录或文件名中允许包含空格
*/
private static void useAWTDesktop() throws IOException{
Desktop.getDesktop().open(new File("D:/my local/测试用例.xls"));
}
3.借助java.lang.Runtime打开
/**
* 借助java.lang.Runtime打开
* @see WPS文字--------Runtime.getRuntime().exec("cmd /c start wps")
* @see WPS表格--------Runtime.getRuntime().exec("cmd /c start et")
* @see WPS演示--------Runtime.getRuntime().exec("cmd /c start wpp")
* @see Office Word---Runtime.getRuntime().exec("cmd /c start winword")
* @see Office Excel--Runtime.getRuntime().exec("cmd /c start excel")
*/
private static void useRuntimeExec() throws IOException{
/*
* 若打开的目录或文件名中不包含空格,就用下面的方式
*/
Runtime.getRuntime().exec("cmd /c start D:/mylocal/测试用例.xls");
/*
* (可以'运行'或'Win+R',然后输入'cmd /?'查看帮助信息)
*/
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "D:/my local/测试用例.xls"});
/*
* 借助本地安装程序打开
* 若打开的目录或文件名中包含空格,它就无能为力了..不过本地程序的安装目录允许含空格
*/
String etCommand = "D:/Program Files/WPS/8.1.0.3526/office6/et.exe";
String filePath = "D:/mylocal/测试用例.xls";
Runtime.getRuntime().exec(etCommand + " " + filePath);
}
}