Porque não abre arquivo HTML

Tenho o seguinte trecho de código onde eu estou tentando abrir um arquivo HTML passando o caminho onde se encontra o arquivo e esta dando o seguinte ERRO: Cannot run program “C:\Documents”: CreateProcess error=193, %1 não é um aplicativo Win32 válido

Alguém poderia me ajudar em como abrir um arquivo HTML pelo caminho onde o mesmo se encontra.

    if (evt.getKeyCode() == KeyEvent.VK_F1)
    {
            String pasta = System.getProperty("user.dir");
            String file = pasta+"\\ajuda\\index.htm";
            try
            {
                Runtime.getRuntime().exec(file);
            } catch (IOException e)
            {
                 System.out.println(e.getMessage());
            }
     }

Deve ser a falta de aspas no caminho do arquivo. Qual pega o espaço ele separa e o resto vira parametro ai ele fica tentando executar C:\Documents coloca tudo dentro de aspas.

1 curtida

Entendi, mas como eu posso chegar até o caminho do meu arquivo sem usar o System.getProperty(“user.dir”);. Porque ai eu poderia colocar as aspas. Estou utilizando ele para chegar até a pasta do meu projeto e depois concateno com pasta onde o arquivo se encontra que também está dentro da pasta do projeto.

Ta locasso? entendeu q eu te disse é apenas pra colocar aspas pra resolver o problema postado?
String file = pasta+"\ajuda\index.htm";
Este file precisa ter aspas PONTO.

Sobre System.getProperty(“user.dir”); Seria bom vc ler este tópico abaixo.

Sim eu compreendi, já consegui resolver sem aspas. Obrigado mesmo assim

Então diga como resolveu o problema sem aspas. Compartilhe a solução com que mais tiver este problema.

2 curtidas

Com o Runtime, você deve invocar um aplicativo para abrir o arquivo. Por ser um HTML, você pode tentar assim:

String pasta = System.getProperty("user.dir");
String url = pasta + "\\ajuda\\index.html";
File htmlFile = new File(url);
Desktop.getDesktop().browse(htmlFile.toURI());
1 curtida

Desculpa pela demora eu fiz desta forma:

if (evt.getKeyCode() == KeyEvent.VK_F1)
        {
            String pasta = System.getProperty("user.dir");
            String file = pasta + "\\manual\\tela_movimentacao_acerto_estoque.html";
            try
            {
                Desktop.getDesktop().open(new File(file));
            } catch (IOException e)
            {
                System.out.println(e.getMessage());
            }
        }

Desta forma também daria certo Lucas, eu não me atentei por ser em HTML.

1 curtida