2012-01-23 32 views
6

Tôi đang cố gắng tải xuống tệp zip nhưng tôi nhận được Ngoại lệ đóng luồng. Khi tôi sử dụng bằng cách sử dụng gui swing nó có được erro này nhưng nếu tôi sử dụng giao diện điều khiển không có vấn đề. Tại sao tôi có ngoại lệ này? Làm thế nào tôi có thể sửa chữa nó?tại sao tôi nhận được java.io.IOException: Luồng đã đóng?

Đây là mã của tôi:

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()); 
} 

này là ngăn xếp dấu vết

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

* ở đâu * để bạn có được một ngoại lệ? –

+12

stack trace xin vui lòng –

+0

Tôi nhận được ngoại lệ ở đây: 'while ((count = in.read (b))> = 0) { out.write (b, 0, count); } ' – itro

Trả lời

4

ngoại lệ này thường có nghĩa kết nối bị đóng đột ngột. Tôi sẽ xem nhật ký trên máy chủ để xem có lỗi không.

0

Tôi giải quyết nó khi lấy ra thẻ này của Primefaces từ xhtml của tôi.

<p:media ... 

nguồn

http://www.primefaces.org/showcase/ui/multimedia/media.xhtml 
Các vấn đề liên quan