/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Runtime.exec og output
Fra : Ukendt


Dato : 23-03-04 09:38

Hejsa.

Jeg prøver at lave et interfave til GnuChess, som har en engine-mode.

Jeg kan køre gnuchess med

Process p = Runtime.getRuntime.exec("gnuchess -x");

men så hører heldet også op. Jeg har leget som en vanvittig med
p.getInputStream, p.getErrorStream og getOutputStream, men det virker ikke.

Jeg får ikke fejl, hvis jeg skriver til OutputStream'en, men jeg kan
ikke læse fra InputStream'en. stdInput.ready() returnerer hele tiden
false...

Any ideas?

Med venlig hilsen,

Sune Mølgaard

 
 
Jesper Mouridsen (24-03-2004)
Kommentar
Fra : Jesper Mouridsen


Dato : 24-03-04 00:46

Den Tue, 23 Mar 2004 09:38:05 +0100. skrev sune AD molgaard.org:

> Hejsa.
>
> Jeg prøver at lave et interfave til GnuChess, som har en engine-mode.
>
> Jeg kan køre gnuchess med
>
> Process p = Runtime.getRuntime.exec("gnuchess -x");
>
> men så hører heldet også op. Jeg har leget som en vanvittig med
> p.getInputStream, p.getErrorStream og getOutputStream, men det virker ikke.
>
> Jeg får ikke fejl, hvis jeg skriver til OutputStream'en, men jeg kan
> ikke læse fra InputStream'en. stdInput.ready() returnerer hele tiden
> false...
>
> Any ideas?
>
> Med venlig hilsen,
>
> Sune Mølgaard
Følgende kode virker NÅR GNUCHESS KØRES UDEN -X, så hvor meget gavn du
har af det ved jeg ikke, men jeg var i lege humør her til aften
import java.io.*;
public class Gnu {

public static void main(String[] argv) {
char buf;
try {
Process p = Runtime.getRuntime().exec("/usr/games/gnuchess");
InputStream ip = p.getInputStream();
InputStreamReader ipr = new InputStreamReader(ip);
while (!ipr.ready()) {
System.out.println("not ready");
}
while ((buf = (char)ipr.read()) != (-1)) {
System.out.println(buf); }
} catch (IOException e) {}
}
}



Henrik Gram (26-03-2004)
Kommentar
Fra : Henrik Gram


Dato : 26-03-04 23:20

"sune AD molgaard.org" <"sune AD molgaard.org"> wrote in message
news:405ff72a$0$306$edfadb0f@dread12.news.tele.dk...
> Jeg prøver at lave et interfave til GnuChess, som har en engine-mode.
>
> Jeg kan køre gnuchess med
>
> Process p = Runtime.getRuntime.exec("gnuchess -x");
>
> men så hører heldet også op. Jeg har leget som en vanvittig med
> p.getInputStream, p.getErrorStream og getOutputStream, men det virker
ikke.

Garanteret det gør - har lavet det samme for nogen år tilbage og der var
ikke noget spesielt i det.

> Jeg får ikke fejl, hvis jeg skriver til OutputStream'en, men jeg kan
> ikke læse fra InputStream'en. stdInput.ready() returnerer hele tiden
> false...

Husker du at flush()'e outputstream'en?

--
Henrik Gram



Soeren (27-03-2004)
Kommentar
Fra : Soeren


Dato : 27-03-04 12:57

Hej Sune,

Kig på denne artikel:

http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html

Mvh Søren Dalby

"sune AD molgaard.org" <"sune AD molgaard.org"> skrev i en meddelelse
news:405ff72a$0$306$edfadb0f@dread12.news.tele.dk...
> Hejsa.
>
> Jeg prøver at lave et interfave til GnuChess, som har en engine-mode.
>
> Jeg kan køre gnuchess med
>
> Process p = Runtime.getRuntime.exec("gnuchess -x");
>
> men så hører heldet også op. Jeg har leget som en vanvittig med
> p.getInputStream, p.getErrorStream og getOutputStream, men det virker
ikke.
>
> Jeg får ikke fejl, hvis jeg skriver til OutputStream'en, men jeg kan
> ikke læse fra InputStream'en. stdInput.ready() returnerer hele tiden
> false...
>
> Any ideas?
>
> Med venlig hilsen,
>
> Sune Mølgaard



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste