मैं फ्लैट फ़ाइलों से डेटा पार्स और लोड करने के लिए FlatPack का उपयोग कर रहा हूं। इसके लिए एक कॉन्फ़िगरेशन फ़ाइल लोड करने की आवश्यकता होती है जो फ्लैट फ़ाइल के कॉलम के मैपिंग स्टोर करता है।मैं जार के अंदर एक कॉन्फ़िगरेशन फ़ाइल कैसे एक्सेस करूं?
private static final String MAPPING_FILE = "src/com/company/config/Maping.pzmap.xml";
मैं एक पार्स (फ़ाइल datafile) है विधि है कि वास्तव में पार्स करता है::
मैं मानचित्रण फ़ाइल के स्थान को परिभाषित करने के लिए एक निरंतर है
private void parse(File dataFile) throws FileNotFoundException, SQLException {
Parser parser;
log.info("Parsing " + dataFile.getName());
FileReader mappingFileReader = new FileReader(MAPPING_FILE);
FileReader dataFileReader = new FileReader(dataFile);
parser = DefaultParserFactory.getInstance().newFixedLengthParser(mappingFileReader, dataFileReader);
parser.setHandlingShortLines(true);
DataSet dataSet = parser.parse();
//process the data
}
जब मैं जार सब कुछ और इसे एक जार के रूप में चलाएं - यह FileReader mappingFileReader = new FileReader(MAPPING_FILE);
पर FileNotFoundException
के साथ बाहर निकलता है। हालांकि यह फ़ाइल जार के अंदर है।
मैं इसे कैसे प्राप्त करूं?
मैंने this question और this question को जार के अंदर फ़ाइलों तक पहुंचने के बारे में देखा है और वे दोनों अस्थायी रूप से फ़ाइल निकालने की अनुशंसा करते हैं। मैं हालांकि ऐसा नहीं करना चाहता हूं।
यह "कक्षा .getResourceAsStream()" – mtpettyp
ओप्स होना चाहिए। उसके लिए धन्यवाद। – skaffman