我编写了一个导出一些数据的 java 应用程序。您可以在 excel 或 xml 输出之间进行选择。一切完成后,我希望创建的文件自动打开。
对于 Excel 的东西,我使用 JExcelAPI,而要创建 XML,我使用 JDOM。
我有一个方法 openFile() 在应用程序退出之前最后被调用:
private void openFile(File file) {
try {
String[] cmds = { "cmd", "/c", file.getAbsolutePath() };
for (String s : cmds) {
System.out.println(s);
}
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmds);
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t) {
t.printStackTrace();
}
}
当我使用 Excel 选项时,文件打开得很好,openFile() 的输出如下:
cmd
/c
D:\test.xls
Process exitValue: 0
使用 XML 输出我将无法工作,尽管我可以手动打开文件就好了。
cmd
/c
D:\test.xml
Process exitValue: 1
所以我想问题出在 JDOM 的某个地方,因为这两次应用程序都是相同的,除了我进行 excel 或 xml 编写的一种方法。但是直到现在我还没有成功。有人可以帮我吗?