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ď č. 1Vyskúšajte java readLine()
príkaz v slučke while. Dajte tomu ukončovaciu podmienku, ako je Yes
alebo No
.