Avatar billede elites Nybegynder
05. maj 2004 - 13:08 Der er 10 kommentarer

eksterne Processer

Jeg har et eksternt program jeg gerne vil kalde fra java.

Den måde jeg gør det på er følgende

Runtime.getRuntime().exec(gsprint test.txt);

Når jeg bare kalder programmet fra en normal dosprompt printes der et document og slut.

Hvis jeg kalder det fra Java er det som om gsprint ikke bliver afsluttet... inde i processer kan man se at gsprint stadig hænger.
Dvs. min java process bliver aldrig færdig...

Mærkeligt.. Nogle forslag
Avatar billede arne_v Ekspert
05. maj 2004 - 13:15 #1
Laver programmet output ?

I så fald skal det læses for at det ikke hænger !
Avatar billede arne_v Ekspert
05. maj 2004 - 13:20 #2
(exec returnerer en Process som har getOutputStream() som du kan bruge til at læse
output med)
Avatar billede elites Nybegynder
05. maj 2004 - 13:25 #3
har lige prøvet den der metode...
Hvis jeg skriver p.getOutputStream()
så skrives der
java.io.bufferedOutputStream1a.. .osv.. der dannes et object...
Men gsprint hænger stadig í hukommelsen...

Hvordan kan jeg lukken ned efter færdig arbejde..
Avatar billede elites Nybegynder
05. maj 2004 - 13:31 #4
HVad mener du med at læse outputet har du et eksempel?
Avatar billede arne_v Ekspert
05. maj 2004 - 13:32 #5
Process p = Runtime.getRuntime().exec("gsprint test.txt");
OutputStream os = p.getOutputStream();
while(os.read() >= 0);
OutputStream es = p.getErrorStream();
while(es.read() >= 0);
Avatar billede elites Nybegynder
05. maj 2004 - 13:44 #6
du kan da kun skrive med en OutputStream?
Skal der skrives... eller hvordan?
Avatar billede elites Nybegynder
05. maj 2004 - 13:46 #7
Nååå... ok.. getInputStream
Avatar billede elites Nybegynder
05. maj 2004 - 13:48 #8
giv mig lige et svar... det virker... :)
Avatar billede arne_v Ekspert
05. maj 2004 - 13:51 #9
ja sorry

InputStream is = p.getInputStream();
while(is.read() >= 0);
InputStream es = p.getErrorStream();
while(es.read() >= 0);

og svar
Avatar billede arne_v Ekspert
25. maj 2004 - 00:17 #10
Tid at få afsluttet spørgsmålet ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester