2012-01-23 65 views
6

Estoy tratando de descargar un archivo zip pero recibo una Excepción de transmisión cerrada. Cuando utilizo el uso de la función swing gui, obtengo este error, pero si uso la consola no hay problema. ¿Por qué obtengo esta excepción? ¿Cómo puedo arreglarlo?¿por qué obtengo java.io.IOException: Stream cerrado?

Este es mi código: trace

URLConnection conn = url.openConnection(); 
InputStream in = conn.getInputStream(); 
FileOutputStream out = new FileOutputStream(destination.getPath()); 
byte[] b = new byte[1024]; 
int count; 

while ((count = in.read(b)) >= 0) { 
    out.write(b, 0, count); 
} 
out.flush(); 
out.close(); 
in.close(); 
OptionPane.showMessageDialog(null, "Download is finished"); 
} catch (HttpUnauthorizedException e) { 
    JOptionPane.showMessageDialog(null, "Proxy or Server Authentication Required"); 
} catch (IOException e) { 
    System.out.println(e.getMessage()); 
} 

esto se apile

java.io.IOException: Stream closed. 
at java.net.PlainSocketImpl.available(PlainSocketImpl.java:428) 
at java.net.SocketInputStream.available(SocketInputStream.java:217) 
at java.io.BufferedInputStream.read(BufferedInputStream.java:321) 
at weblogic.net.http.KeepAliveStream.read(KeepAliveStream.java:86) 
at java.io.FilterInputStream.read(FilterInputStream.java:90) 
at be.azvub.ext.bcfidownloder.Download.downloadZipFile(Download.java:130) 
at be.azvub.ext.bcfidownloder.Download.authorize(Download.java:91) 
at be.azvub.ext.bcfidownloder.BcfiDownloadPanel$4.mouseClicked(BcfiDownloadPanel.java:110) 
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212) 
at java.awt.Component.processMouseEvent(Component.java:5520) 
at javax.swing.JComponent.processMouseEvent(JComponent.java:3129) 
at java.awt.Component.processEvent(Component.java:5282) 
at java.awt.Container.processEvent(Container.java:1966) 
at java.awt.Component.dispatchEventImpl(Component.java:3984) 
at java.awt.Container.dispatchEventImpl(Container.java:2024) 
at java.awt.Component.dispatchEvent(Component.java:3819) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) 
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901) 
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) 
at java.awt.Container.dispatchEventImpl(Container.java:2010) 
at java.awt.Window.dispatchEventImpl(Window.java:1791) 
at java.awt.Component.dispatchEvent(Component.java:3819) 
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) 
at be.azvub.webutil.gui.WebEventQueue.dispatchEvent(WebEventQueue.java:34) 
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) 
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) 
+0

* Donde * Cómo se obtiene la excepción? –

+12

seguimiento de pila por favor –

+0

obtengo la excepción aquí: 'while ((count = in.read (b))> = 0) { out.write (b, 0, count); } ' – itro

Respuesta

4

Esta excepción por lo general significa la conexión se cerró bruscamente. Me gustaría ver los registros en el servidor para ver si hubo un error.

0

Lo resuelto cuando se retira esta etiqueta de Primefaces de mi XHTML.

<p:media ... 

fuente

http://www.primefaces.org/showcase/ui/multimedia/media.xhtml 
Cuestiones relacionadas