Problemas com Runtime.getRuntime().exec() no ubuntu [Resolvido]

Olá, estou desenvolvendo uma aplicação desktop, e estou tendo problemas:

Apos criar um arquivo xls, eu executo ele. No windows estou usando:

 Runtime.getRuntime().exec("cmd /c"+caminho+nome+".xls");

Funciona, mas não no ubuntu. Coo que eu faço isso?

Obrigado

Runtime.getRuntime().exec("oocalc arquivo.xls");

esse oocalc se refere ao Calc do OpenOffice, que é o Excel Genérico do linux.

Testa ai.

bom muito isso mesmo.

Achei algumas coisas nesse link http://www.rgagnon.com/javadetails/java-0014.html e nesse http://www.linuxquestions.org/questions/programming-9/opening-file-with-xls-on-linux-shell-prompt-210569/

Obrigado…flw

O ideal, após o Java 6, é usar a API de desktop pra solicitar que ela abra o arquivo com o programa padrão.

Assim, o seu programa continuará funcionando em Windows, Linux e outros SOs, mesmo que a pessoa use o StarOffice no lugar do Excel.

Você usa assim, considere abrirComExec como sendo sua função atual:

[code]
public void abrir(File arquivo) {
if (!Desktop.isDesktopSupported()) {
abrirComExec(arquivo);
return;
}

desktop = Desktop.getDesktop();

if (!desktop.isSupported(Desktop.Action.OPEN)) {
abrirComExec(arquivo);
return;
}
desktop.open(arquivo);
}[/code]

Esse programa tenta abrir com o desktop antes de recorrer ao exec.