2011-01-14 9 views
5
पर बंद कर दिया गया

मैं निम्नलिखित समस्या है:java.lang.NullPointerException: inflater InputStreamReader

जब मैं परियोजना सब ठीक काम करता है से संसाधन लोड है, लेकिन लोड करने के लिए जब मैं एक .jar पर डाल दिया और कोशिश मुझे अपवाद मिलता है।

कोड है:

InputStreamReader reader = 
    new InputStreamReader(
     this.getClass().getResource(fileName).openStream()) 
CsvReader stream = new CsvReader(reader); 
try { 
    while (stream.readRecord()) { 
     line = stream.getRawRecord(); 
     //DO SOMETHING... 
    } 
}catch (Exception e) { 
    System.err.println(e.getMessage()); 
    e.printStackTrace(); 
} finally { 
    stream.close(); 
} 

और स्टैकट्रेस है:

Inflater has been closed java.lang.NullPointerException: Inflater has been closed 
at java.util.zip.Inflater.ensureOpen(Inflater.java:364) 
at java.util.zip.Inflater.inflate(Inflater.java:237) 
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:135) 
at java.io.FilterInputStream.read(FilterInputStream.java:116) 
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) 
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) 
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) 
at java.io.InputStreamReader.read(InputStreamReader.java:167) 
at utils.csvreader.CsvReader.checkDataLength(CsvReader.java:1198) 
at utils.csvreader.CsvReader.readRecord(CsvReader.java:604) 

समस्या stream.getRawRecord() पर होता है। मैंने BufferedReader के साथ readLine();

कोई भी विचार के साथ उसी परिणाम के साथ भी प्रयास किया?

+0

आप रीडर को बंद नहीं कर रहे हैं। – EJP

उत्तर

1

यह जावा में बग हो सकता है। मुझे एक समान समस्या थी, यहां वर्णित: https://issues.apache.org/jira/browse/FELIX-1032

क्या आपका एप्लिकेशन कुछ विशेष श्रेणी लोडर सेटिंग्स के साथ चल रहा है?

+0

नहीं, डिफ़ॉल्ट सेटिंग्स का उपयोग कर रहा हूं लेकिन समस्या आपके जैसा ही दिखती है। – Yhonny

+0

मैं इसे सुझाए गए वर्कअराउंड के साथ ठीक नहीं कर सकता, मैं स्पष्ट रूप से बंद() विधि को कॉल करता हूं लेकिन फ़ाइल को पढ़ने के दौरान समस्या तब होती है। – Yhonny

-1

प्रोजेक्ट से लोडिंग संसाधन का मतलब है कि आप ज़िप (जार ज़िप है) से निपट नहीं पाते हैं, इसलिए इनपुटस्ट्रीम रीडर फ़ाइल को हल करने के लिए हल करता है जिसे आप पढ़ना चाहते हैं।

मेरा अनुमान है कि इनपुटस्ट्रीम रीडर जार से निपटने के दौरान शून्य या गलत फ़ाइल को हल करता है। लॉग वर्र्स असुर

+0

फ़ाइल डी जार के अंदर है और कभी-कभी ठीक काम करती है, मेरा मतलब है, पहली बार जब मैं इसे पढ़ने की कोशिश करता हूं तो विफल रहता है लेकिन दूसरी बार यह ठीक काम करता है (कुछ बार दूसरी बार विफल रहता है)। लेकिन डिबगिंग मैंने देखा कि इनपुटस्ट्रीम रीडर संसाधन को हर समय ठीक करता है (शून्य नहीं)। – Yhonny

+0

यदि इनपुटस्ट्रीम रीडर शून्य था तो यह स्टैक ट्रेस में दिखाई नहीं देगा। – EJP

संबंधित मुद्दे