PDA

View Full Version : [java] Come si fa a mandare un EOF su un OutputStream?


peppedx
14-09-2004, 14:04
Per favore! ho questo codice:
in cui inMov è in InputStream e fout un OutputStream

while(true){
read=inMov.read(buf,0,size);
if (read<0) { break;}
fout.write(buf,0,read);
}

fout.flush();
fout.close();


Ma il cilco rimane appeso al read.Credo che il problema si che si aspetta un carattere di EOF, ma non so come mandarlo! Come faccio?

Grazie

kingv
14-09-2004, 14:15
ma inMov e' un InputStream che wrappa cosa?

un file? un socket?
se e' un file al termine del file dovresti avere read <0, se e' un socket quando il client chiude idem.

se e' un socket e non vuoi chiudere la connessione devi trovare un carattere che faccia da "tappo" e nel tuo frammento di codice testi la presenza di quel carattere.

peppedx
14-09-2004, 14:21
E' un socket Jxta, che viene a sua volta mappato su una Pipe in cui i dati passano mappati in messaggi xml.

IIl close della connessione già lo faccio, ma visto che mi rimane appeso il read non so cosa fare! Ho persino tentato di mandare un numero di byte noto e leggere con un for...ma nulla. Sto impazzendo!