Dos og interaction med Java.......
Der findes nogle statements man kan bruge, når man skal skal køre andre programmerjava.lang.runtime.exec("executable filename")
http://developer.java.sun.com/developer/qow/archive/68/
import Java.lang.*;
import Java.io.*;
public class RuntimeExecTest {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
String[] callAndArgs = { "Notepad.exe","D:\\TEMP\\Test.txt" };
try {
Process child = rt.exec(callAndArgs);
child.waitFor();
System.out.println("Process exit code is:
" + child.exitValue());
}
catch(IOException e) {
System.err.println(
"IOException starting process!");
}
catch(InterruptedException e) {
System.err.println(
"Interrupted waiting for process!");
}
}
}
De medfødte functioner i DoSprompten (ping, FTP, netstat og tracert) viser imidlertid ingen feed back, dvs at hvis følgende bliver brugt, udføres functionen korrekt, men de statestikker som funktionen normalt ville vise er ikke tilstede.
String[] callAndArgs = { "ping", "192.168.1.1" };
String[] callAndArgs = { "ping", "/c start ping" };
dvs at følgende statement ikke er tilfredstillende:: !!
String[] callAndArgs = { "cmd", "/c start cmd" };
Mine spørgsmål er:
1)
Hvordan får jeg Dos'en til at vise resultaterne ?
2) hvordan returnnere jeg resultaterne til minapplikation, så jeg eksempelvis kan lægge dem i et TextArea?
Da jeg er igang med at lave en lille ftp client, har jeg også fundet ud af nogle andre problemer med Runtime exec løsningen....
eksempel... hvis man kører en java applikation og sætter antallet af echo requests i en pingning til mere end 5, vil systemet gå istå.
1)
Hvorfor?
2)
kan dette løses?