मैं फ़ाइल सामग्री में पढ़ने के लिए कोशिश कर रहा हूँ, उदाहरण के लिए:एक classpath में फ़ाइल को ढूंढने में
public void myMethod(){
FileInputStream fstream = new FileInputStream(fileLocation);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null) {
....
....
.....
end while
end method
और मैं वर्ग शरीर private String fileLocation;
की शुरुआत में और एक वर्ग के अंत में है मैं एक गेटर है और इसके लिए सेटटर। अब मैं इस कक्षा से वसंत से वसंत से इस फ़ाइल स्थान को इंजेक्ट करने की कोशिश कर रहा हूं और मैं इस वर्ग की init-method निर्दिष्ट करता हूं। लेकिन मुझे त्रुटि मिलती है कि निर्दिष्ट फ़ाइल नहीं मिलती है जैसे कि यह क्लासपाथ पर नहीं है लेकिन यह युद्ध फ़ाइल के अंदर है?
Error: src\main\resources\ids.txt (The system cannot find the path specified)
है यही कारण है कि जब मैं इस की कोशिश की:
FileInputStream fstream = new FileInputStream("src\\main\\resources\\ids.txt");
कैसे संदर्भ के लिए मैं Maven के साथ इस परियोजना के निर्माण कर रहा हूँ और मैं src/main/resources
इस में फ़ाइल डाल त्रुटि मैं जब फ़ाइल पढ़ने का प्रयास मिलता है वर्गपाथ से ठीक से?
संपादित
जब मैं @BalusC समाधान के अनुसार मेरी कोड को संपादित यहां उसे लग रहा है लेकिन मैं अभी भी null
त्रुटि मिलती है:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("src/main/resources/ids.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(input));
String strLine;
while ((strLine = br.readLine()) != null) {
....
....
.....
end while
end method
@ बालससी आपके उत्तर के लिए धन्यवाद, मैंने अपना प्रश्न अपडेट किया है –
मैंने पहले ही अपना जवाब अपडेट करने के लिए अपडेट किया है :) – BalusC
@ बालुससी वही है जब मैं 'src' bit को हटाता हूं, मैंने अभी लक्ष्य युद्ध के अंदर देखा है जो इस फाइल के अंदर jboss पर तैनात किया जाता है ग्रहण में 'वेब-INF/classes' अंदर लेकिन मेरी परियोजना में स्थान है इसके' src/मुख्य/किसी अन्य चाल ऊपर resources' अपने आस्तीन में स्थित? –