webForumDet fria alternativet

Hämta värden från DOS?

Java

1 svar · 373 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Frågan#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...

------------------
---
/* LilleSkutt */

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()); }

------------------
"Med ett schysst järnrör slår man hela världen med häpnad" - Socker-Conny

[Redigerat av sgtpepper den 15 mar 2001]

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)