Tenho um método que cria um arquivo em uma pasta chamada “Saved Work”, e, após este arquivo ser salvo, para o usuário é exibida uma mensagem de abertura ou não do arquivo salvo. É um arquivo texto simples que tento abrir com o word, só que quando eu chamo o método pra abrir o WORD passando como parametro o local o arquivo, ele não o encontra.
Runtime.getRuntime().exec("cmd.exe /C start WINWORD.exe " + objPasta.getAbsolutePath() + "/" + objFileName);
Acho que é por causa das barras que são geradas através do método do getAbsolutePath(). Mas como arrumar isso?
SOLUÇÃO: Descobri que é por causa do nome da pasta, não pode conter o espaço entre o Saved e o Work. Tem como arrumar isso, de qualquer maneira?
Fala brow,
Cara, nao testei aqui, mas voce ja tentou usar aspas no arquivo?
Runtime.getRuntime().exec("cmd.exe /C start WINWORD.exe \"" + objPasta.getAbsolutePath() + "/" + objFileName + "\"");
Abraco!
Pelo q sei para acessar pasta q tem espaço entre seu nome é so utilizar aspoas
“nome_da_pasta”
Att.,
[quote=kenneth]Fala brow,
Cara, nao testei aqui, mas voce ja tentou usar aspas no arquivo?
Runtime.getRuntime().exec("cmd.exe /C start WINWORD.exe \"" + objPasta.getAbsolutePath() + "/" + objFileName + "\"");
Abraco![/quote]
Não funciona. Realmente o problema é no nome da pasta, não pode conter espaço. 
Fala brow,
Estranho nao ter funcionado com aspas…
Posta o erro pra gente ver ai…
Voce tentou com aspas simples no lugar dos " que eu pus?
Abraco!
Também existe a opção da classe Desktop. Voce pede para o sistema operacional abrir o arquivo com o programa padrao para edição de acordo com a extenção, e é bem simples.
Desktop.getDesktop().edit(new File("arquivo.extensao"));
Essa classe também tem os métodos open que abre como se fosse o duplo clique, o browse que recebe uma URI que abre o browser na URL especificada e mail que abre o gerenciador de email padrao.