一部のデータをエクスポートする 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の書き込みを行う1つの方法を除いて、両方のアプリケーションが同じであるためです。しかし、私は今まで成功したことがありません。誰でもこれで私を助けることができますか?