2012-01-23 12 views
6

मैं एक ज़िप फ़ाइल डाउनलोड करने की कोशिश कर रहा हूं लेकिन मुझे स्ट्रीम बंद अपवाद मिलता है। जब मैं स्विंग गुई का उपयोग कर उपयोग करता हूं तो यह इस एरो को प्राप्त करता है लेकिन अगर मैं कंसोल का उपयोग करता हूं तो कोई समस्या नहीं है। मुझे यह अपवाद क्यों मिलता है? मेरे द्वारा यह कैसे किया जा सकता है?मुझे java.io.IOException क्यों मिलता है: स्ट्रीम बंद है?

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

इस ढेर है ट्रेस

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

* कहाँ * आप अपवाद मिलता है? –

+12

स्टैक ट्रेस कृपया –

+0

मुझे यहां अपवाद मिलता है: 'जबकि ((count = in.read (बी))> = 0) { out.write (बी, 0, गिनती); } ' – itro

उत्तर

4

यह अपवाद का सामान्य अर्थ यह कनेक्शन अचानक बंद हो गया:

यह मेरा कोड है। मैं यह देखने के लिए सर्वर पर लॉग देखता हूं कि कोई त्रुटि हुई है या नहीं।

0

यह जेवीएम देरी के कारण हो सकता है, यह यूनिक्स/लिनक्स ऑपरेटिंग सिस्टम के यादृच्छिक संख्या जनरेटर के कारण हो सकता है। आपको इसे /dev/./urandom

के साथ प्रतिस्थापित करना चाहिए इस लिंक पर इसके बारे में अधिक जानकारी है।

http://devcorn.com/java-io-ioexception-stream-closed-no-available-router-to-destination/

0

मैं इसे जब मेरे एक्सएचटीएमएल से Primefaces की इस टैग को हटा दिया हल किया।

<p:media ... 

स्रोत

http://www.primefaces.org/showcase/ui/multimedia/media.xhtml 
संबंधित मुद्दे