2010-10-08 11 views
8

मुझे जावा WAR एप्लिकेशन में क्लासपाथ से टेक्स्ट फ़ाइल पढ़ने की आवश्यकता है। मैं इसे इनपुटस्ट्रीम के रूप में कैसे पढ़ सकता हूं। फ़ाइल/वेब-आईएनएफ/कक्षाओं/फ़ोल्डर में स्थित है, लेकिन जब मैं निम्नलिखित कोड का उपयोग करता हूं, तो यह सिर्फ शून्य हो जाता है।मैं अपने युद्ध में कक्षा निर्देशिका से फ़ाइल कैसे पढ़ सकता हूं?

InputStream input = servletContext.getClass().getClassLoader().getResourceAsStream("my_filename.txt"); 

उत्तर

11

उपसर्ग यह एक फ़ॉर्वर्ड स्लैश classpath की जड़ को निरूपित करने के:

getResourceAsStream("/my_filename.txt") 

वैकल्पिक रूप से, आप serlvetContext.getResourceAsStream(..) जो संदर्भ जड़ के सापेक्ष संसाधनों के लिए लग रहा है उपयोग कर सकते हैं। तो कक्षा /WEB-INF/classes होगी।

+0

मैंने इसके साथ भी कोशिश की, लेकिन यह अभी भी शून्य हो गया है। क्या servletContext में सही क्लासलोडर है या मैं कैसे सुनिश्चित कर सकता हूं कि मैं सही क्लासलोडर का उपयोग कर रहा हूं? – newbie

+0

@newbie:। एक चाल एक ही स्थान पर एक ही नाम के साथ एक फ़ाइल लिखना है, अगर आप पढ़ नहीं सकते हैं, और फिर देखें कि प्रोग्राम ने वास्तव में फ़ाइल कहाँ लिखा है। –

+0

@newbie निश्चित रूप से वहाँ फाइल है? एक ही नाम, विस्तार और मामले के साथ? – Bozho

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

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