Variaveis de ambiente, mensagens e comando de dos em java!

ae pessoal!

to eu aki importunando vcs de novo com minhas duvidas inusitadas e cabeludas…

eu to pensando em fazer o que será um começo de um IDE em java!

ai eu pensei que eu vez de eu compilar o .java, eu simplesmente executo o comando javac…
hauhauha
ai eu pego as mensagens de erro do dos(ou o shell do linux), e mostro pro usuário…

alguém tem alguma idéia de como faz isso?

| |
|=( )=| ====> may the force be with you…
| |

         (ninguém faz arte em ASCII melhor que eu!)

[quote=“microfilo”]ae pessoal!
ai eu pensei que eu vez de eu compilar o .java, eu simplesmente executo o comando javac…
hauhauha
ai eu pego as mensagens de erro do dos(ou o shell do linux), e mostro pro usuário…
[/quote]

Uai, e assim tu nao vai compilar nao? Ou tu acha que existe outro jeito de fazer isso? :confuso:

T+

vc pode criar temporariamente um arquivo .bat q compila o prog, dai vc poe isso:

Runtime.getRuntime().exec("start arq.bat");

dai vai aparecer as msg pro usuario…

sei
mas não tem como pegar as mensagens que o dos manda?

Tem sim, mas tua IDE vai ficar muito tosca assim. Seria melhor ela utilizar o ANT. Todas estão fazendo isso. É mais pratico, facil, rapido e confiavel. De qualquer forma o código abaixo executa um comando no DOS ou shell do linux e te devolve o que foi escrito. Boa sorte!

import java.io.*;
public class Teste {

	public Teste(){
		
	}
	
	public static void main(String args[]){
		String comando = "msconfig"; //Comando a ser execultado.
		String resposta = new Teste().execComando(comando);
		if(!"".equals(resposta))
			System.out.println("executando: " + comando + "... \n" + resposta);
	}
	
	public String execComando(String asComando){
		String retorno="";
		try{
			Runtime rt = Runtime.getRuntime();
			Process prcs = rt.exec(asComando); //Executa o comando no shell ou DOS
			InputStreamReader isr = new InputStreamReader(prcs.getInputStream());
			BufferedReader br = new BufferedReader(isr);
			String line;
			//Le a resposta do comando linha por linha.
			while ((line = br.readLine()) != null)
				retorno += line + "\n";
			}catch(IOException ioe){
				System.out.println(ioe.getMessage());
			}
			return retorno;
			}
		}

[quote=“caitiff-jVampire”]Tem sim, mas tua IDE vai ficar muito tosca assim. Seria melhor ela utilizar o ANT. Todas estão fazendo isso. É mais pratico, facil, rapido e confiavel. De qualquer forma o código abaixo executa um comando no DOS ou shell do linux e te devolve o que foi escrito. Boa sorte!

[code]
import java.io.*;
public class Teste {

public Teste(){
	
}

public static void main(String args[]){
	String comando = "msconfig"; //Comando a ser execultado.
	String resposta = new Teste().execComando(comando);
	if(!"".equals(resposta))
		System.out.println("executando: " + comando + "... \n" + resposta);
}

public String execComando(String asComando){
	String retorno="";
	try{
		Runtime rt = Runtime.getRuntime();
		Process prcs = rt.exec(asComando); //Executa o comando no shell ou DOS
		InputStreamReader isr = new InputStreamReader(prcs.getInputStream());
		BufferedReader br = new BufferedReader(isr);
		String line;
		//Le a resposta do comando linha por linha.
		while ((line = br.readLine()) != null)
			retorno += line + "\n";
		}catch(IOException ioe){
			System.out.println(ioe.getMessage());
		}
		return retorno;
		}
	}

[/code][/quote]

pou faz tempo q eu queria saber como se pega a resposta de outro prog, vlw ae! mas soh uma coisa, n funciona pra alguns comandos… tentei dar um dir e n funcionou… tive q criar um arquivo .bat e pegar o resultado, n tem como ser mais direto?

[quote=“caitiff-jVampire”]Tem sim, mas tua IDE vai ficar muito tosca assim. Seria melhor ela utilizar o ANT. Todas estão fazendo isso. É mais pratico, facil, rapido e confiavel. De qualquer forma o código abaixo executa um comando no DOS ou shell do linux e te devolve o que foi escrito. Boa sorte!
[/quote]

ANT?
eu vi uma Java Magazine com isso na capa?
vc pode explicar melhor?