Ola amigos, eu dei uma pesquisada no forum e achei alguns topicos semelhantes, porem, sou iniciante e nao consegui entender o mesmo…
Alguem poderia dar um exemplo de como coloca comando do DOS no Java e explicar, se possivel?
Abraços
Ola amigos, eu dei uma pesquisada no forum e achei alguns topicos semelhantes, porem, sou iniciante e nao consegui entender o mesmo…
Alguem poderia dar um exemplo de como coloca comando do DOS no Java e explicar, se possivel?
Abraços
Java é uma linguagem independente de plataforma. Acho improvável dar pra rodar comandos DOS, até porque o “console” da linguagem se refere à JVM.
Vc quer execuatar comandos do Dos, tipo calc, atraves
do java ??
Acha? Então veja os métodos Runtime.exec e a classe ProcessBuilder.
Não só dá para rodar comandos, como também você tem 2 formas de fazer isso. 
Sim ViniGodoy, eu vi que tem essas duas classes, porem, dei uma pesquisada mas nao entendi muito bem como que funciona…
Se possivel, voce poderia fazer um source pequeno, so pra mostrar como funciona essas classes? Pode ser com algum comando basico mesmo, tipo “dir”, “ver”… Enfim, se puder ajudar ficarei grato.
Abraços
import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Teste {
public static void main(String args[]) {
try {
//Damos o comando dir, e obtemos uma instância do
//processo que está executando o comando.
Process p = Runtime.getRuntime().exec("cmd /C dir");
//Agora vamos ler o que veio na saída padrão desse
//processo (o resultado do comando dir)
Scanner scan = new Scanner(p.getInputStream());
while (scan.hasNextLine())
System.out.println(scan.nextLine());
} catch (IOException ex) {
Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
A entrada padrão (p.getOutputStream()) serviria para você fornecer dados para a entrada padrão de um programa. Por exemplo, se vc rodar um programa em DOS que exija digitação, você pode digitar enviando dados para o OutputStream.
import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Teste {
public static void main(String args[]) {
try {
//Damos o comando dir
ProcessBuilder pb = new ProcessBuilder("cmd", "/C", "dir");
//A vantagem do processBuilder é poder configurar o ambiente com
//facilidade antes da execução. Por exemplo, vamos redirecionar a
//saída de erro (System.err) para o mesmo local da saída padrão
//(System.out).
pb.redirectErrorStream(true);
//Executamos o processo. Daqui em diante, é tudo igual.
Process p = pb.start();
//Agora vamos ler o que veio na saída padrão
Scanner scan = new Scanner(p.getInputStream());
while (scan.hasNextLine())
System.out.println(scan.nextLine());
} catch (IOException ex) {
Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Entendi um pouco mais agora Vini :)
Tipo assim, porque executando pelo NetBeans o seguinte codigo como .java nao da erro:
public class DOS {
public DOS() {
}
public static void main(String args[]) {
ProcessBuilder builder = new ProcessBuilder("notepad.exe");
try {
Process process = builder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Mas se coloco o mesmo codigo como applet da erro:
import java.io.BufferedReader;
import java.io.*;
public class APPLETDOS extends java.applet.Applet {
public void init() {
ProcessBuilder builder = new ProcessBuilder("\Windows\notepad.exe");
try {
Process process = builder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Obrigado pela ajuda e pela explicação.
Abraços
É que o applet não tem acesso a máquina do cara.
Já pensou? Você poderia disparar um applet que rodasse o format dele.
É que o applet não tem acesso a máquina do cara.Já pensou? Você poderia disparar um applet que rodasse o format dele.
Tenho um trojan em applet, o que me diz? :shock:
Ta dando um erro de segurança cara… creio que se usar um try catch acho que vai… nao sei, como disse, ainda sou iniciante 
De uma olhadinha fazendo favor no erro e veja se realmente nao tem como…
Obs: O trojan que eu tenho é em .jar e tem a pagina html que chama o .jar
Abraços
Se quer fazer um trojan, por favor procure outro fórum. Vou bloquear este tópico.