Я пишу сервер в JAVA
, где клиент просит загрузить несколько файлов, а сервер создаст ZipOutputStream
и немедленно подаст заявку. С другой стороны, другой поток будет записываться в ZipOutputStream
. Я использовал piped input/output stream
.Как обслуживать ZipOutputStream для сети в JAVA
Код
PipedInputStream in = new PipedInputStream();
PipedOutputStream out = new PipedOutputStream();
in.connect(out);
ZipOutputStream zout = new ZipOutputStream(out);
new Thread{
public void run(){
while(condition){
more logic..
zout.write(data,0,length);
zout.flush()
}
zout.close();
out.close();
}
}.start();
return in;
Но когда я нажимаю кнопку загрузки его загрузки (закончить сразу) небольшой файл (поврежден), а мой почтовый создания задания по-прежнему работает. Как синхронизировать эти два задания?
Vaiya, вы промотали после записи? –
Я не сфотографировал и не работал. – shantanu
Заканчиваете ли вы PipedOutputstream до того, как Thread записывается в zout? – Gilfoyle