Chcę uruchomić kod skompilowany wcześniej. I tak skompilowałem, że nie ma znaczenia, jak skompilować, ale uruchomienie kodu jest problematyczne.Uruchamianie skompilowanego kodu Java w czasie wykonywania
My code.java
public class code{
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
Potem skompilowany kod i code.class
(w katalogu D://
) została wygenerowana. Teraz chcę uruchomić ten skompilowany plik. Mój kod to:
import java.io.IOException;
import java.io.InputStream;
public class compiler {
public static void main(String[] args) {
final String dosCommand = "cmd /c java code";
final String location = "D:\\";
try {
final Process process = Runtime.getRuntime().exec(
dosCommand + " " + location);
final InputStream in = process.getInputStream();
int ch;
while((ch = in.read()) != -1) {
System.out.print((char)ch);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Tutaj nie ma błędu, ale ten kod nic nie robi. Żadne cmd otwarte, nic. Gdzie się mylę? Co powinienem zrobić?
Po pierwsze: nie używaj 'Runtime.exec()', użyj 'ProcessBuilder'. – fge
Po drugie: wygląda na to, że kod, który chcesz uruchomić, daje wynik, który chcesz przechwycić; jeśli tak jest, nie uruchamiaj go w interpreter poleceń ... – fge