Comandos do prompt em JAVA

Eu gostaria de saber como faço para executar comandos de prompt dentro do programa!

Para quê?

Quero adicionar novo usuario no system tables do banco de Dados (Estou usando o FireBird) e esse banco usa um arquivo .exe - gsec.exe - que roda no prompt MS/DOS…

Preciso executar os comandos feito um bat…

[i]>gsec -user SYSDBA -password masterkey

add jTextField.getText() ?pw jPasswordField.getText()
quit[/i]

Algo assim…

Olha, vc pode utilizar a seguinte instrução para chamar um programa executável (como se estivesse no DOS).

try { Runtime.getRuntime().exec("cmd.exe /C start notepad.exe c:/temp/teste.txt"); } catch (IOException ex) { ex.printStackTrace(); }

Neste exemplo está sendo chamado o bloco de notas para abrir o arquivo teste.txt

Funciona legal.
Ate mais.

Dá uma olhada nas classes ProcessBuilder e Process.

Com o ProcessBuilder é possível até configurar as variáveis de ambiente que o seu processo irá usar.

Agora, se você precisar interagir com o processo, terá que vigiar o InputStrem e o OutputStream de seu process em threads separadas. Use essas classes para enviar/receber informações do processo, sempre que necessário.

Dá também, pra simplificar (usando o exemplo do mpisching) fazer assim:

try { Runtime.getRuntime().exec("cmd.exe /k c:/arq.bat"); } catch (IOException ex) { ex.printStackTrace(); }

[quote=mpisching]Olha, vc pode utilizar a seguinte instrução para chamar um programa executável (como se estivesse no DOS).

try { Runtime.getRuntime().exec("cmd.exe /C start notepad.exe c:/temp/teste.txt"); } catch (IOException ex) { ex.printStackTrace(); }

Neste exemplo está sendo chamado o bloco de notas para abrir o arquivo teste.txt

Funciona legal.
Ate mais.[/quote]

Agradeço a todos pela prestatividade e rapidez para a ajuda na solução do problema citado…

Resolvi da seguinte forma e vou compartilhar com vcs…

Criei o arquivo bat, um buffer de char e um buffer de um Array de char…

Vlw galera!!!

try{
File file=new File(“C:/as.bat”);
FileOutputStream fo=new FileOutputStream(file);
PrintWriter pw=new PrintWriter(fo);
pw.println(“cd \”);
pw.println(“cd Arquivos de programas\Firebird\Firebird_2_0\bin\”);
pw.println(“gsec -user sysdba -password masterkey -add + jTextField.getText() + -pw +jPasswordField.getText()+”);
pw.println(“exit”);
pw.flush();
pw.close();
fo.close();
Runtime.getRuntime().exec(“cmd.exe /k c:\as.bat”);
file.delete ();
}catch(Exception e){
e.printStackTrace();
}
}