Vraag : Process.waitFor () en InputStream

Hallo,

I am een oS-Vlak bevel Linux uitvoeren die Runtime.getRuntime () gebruiken .exec () method.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
public nietige looppas ()
{
	Koord linuxCommand = „myLinuxCommand“;
	probeer
	{
		Verwerk p = Runtime.getRuntime () .exec (nieuw Koord [] {„sh“,“ - c ", linuxCommand});

		p.waitFor ();

		BufferedReader in = nieuwe BufferedReader (nieuwe InputStreamReader (p.getInputStream ()));

		De lijn van het koord;
		terwijl ((lijn = in.readLine ()) ! = verklaar) nietig
			System.out.println (lijn);
	}
	vangst (Uitzondering e)
	{
		e.printStackTrace ();
	}
} 

I die am de reactie lezen terug door dit oS-Vlakke bevel is teruggekeerd (zie line#12-14).  Dit bevel kan ooit upto 10-20 seconden nemen om het resultaat terug te keren.  Ik las van Java API, zijn er een methodewaitFor () beschikbaar in Process.  Mijn vraag nu, waar ben zou ik de waitFor (moeten hebben) methode in mijn lijn van code?  Of het vóór het lezen van de reactie zou moeten worden geplaatst of die het zou na het lezen van de reactie moeten worden geplaatst, zodat de reactie door het bevel is teruggekeerd betrouwbaar zou kunnen altijd worden gelezen?

Antwoord : Process.waitFor () en InputStream

gelieve te verwijzen de bijgewerkte code
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

Andere oplossingen  
 
programming4us programming4us