/ / Posielanie viacerých vstupov na príkaz s exec - java, príkazový riadok, vstup, exec, runtime.exec

Odosielanie viacerých vstupov do príkazu s príkazom exec - java, príkazový riadok, vstup, exec, runtime.exec

Musím vykonať príkaz na príkazovom riadku a po vykonaní príkazu je potrebné poskytnúť sériu odpovedí Áno alebo Nie. Napríklad:


> ./ nejaký príkaz (návrat)

Si si tým istý? [áno / nie]: áno (návrat)

Naozaj ste si tým istí? [áno / nie]: áno (návrat)

Posledná šanca. [áno / nie]: nie (návrat)

OK.


Na vykonanie tejto úlohy sa snažím použiť nasledujúci útržok kódu.

try {
// Execute command
String command = "somecommand";
Process child = Runtime.getRuntime().exec(command);

// Get output stream to write from it
OutputStream out = child.getOutputStream();

out.write("yes".getBytes());

out.flush();
out = child.getOutputStream();
out.write( "yes".getBytes() );

out.flush();
out = child.getOutputStream();
out.write( "no".getBytes() );

out.close();
} catch (IOException e) {
}

Ako vidíte, snažil som sa trikrát použiť „out = child.getOutputStream ()“ a po každom zápise vyprázdniť „out“. Zdá sa však, že to nefunguje. Máte predstavu, ako by sa to dalo dosiahnuť?

odpovede:

1 pre odpoveď č. 1

Vyskúšajte java readLine() príkaz v slučke while. Dajte tomu ukončovaciu podmienku, ako je Yes alebo No.