Hämta värden från DOS?

Java

1 svar · 383 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Trådstart#1

Halloj!

Jag skulle vilja lagra information i variabler som man tar emot från DOS? Går det?

typ:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("ping 127.0.0.1");

Hittade lille kodsnutten i ett annat inlägg, men själva informationen man får från ping lagras väl inte i Process? Eller? Kan nämligen inte prova på den här burken...

Medlem sedan apr. 20007 588 inlägg
#2

Jovisst gör den det. Processobjektet som returneras av exec() innehåller in, out samt errorströmmen så genom att läsa av inströmmen så får du tillgång till resultatet som ping genererar.

Det kan även vara bra att hålla ett öga på errorströmmen i fall något fel uppstått vid körningen.

try
{
	Runtime rt = Runtime.getRuntime();
	Process pr = rt.exec("ping 127.0.0.1");
	
	InputStreamReader isr = new InputStreamReader(pr.getInputStream()); 
	BufferedReader br = new BufferedReader(isr); 
	String line=null; 
	while ( (line = br.readLine()) != null) 
		System.out.println(line); 
			
}
catch (Exception e) { System.out.println("Fel: "+e.getMessage()); }
270 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
139 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
139 ms — ändringar (db)