मैं जैक्सन सीएसवी (https का उपयोग करके मौजूदा CSV फ़ाइल में डेटा कैसे जोड़ सकता हूं: //github.com/FasterXML/jackson-dataformats-text/tree/master/csv) यहाँ मेरा कोड है
public synchronized Boolean AppendToFile(Path fullFilePath, InputDataFormat obj) throws IOException {
if (mapper == null || schema == null)
init();
File outputFile = new File(fullFilePath.toUri());
if (!outputFile.exists()) {
outputFile.createNewFile();
}
ObjectWriter writer = mapper.writer(schema);
mapper.writer(schema).writeValue(outputFile, obj);
return true;
}
यह फ़ाइल को लिखता है लेकिन मौजूदा डेटा को बरकरार नहीं रखता है
2
Amna Irshad Sipra
20 अक्टूबर 2017, 18:37
1 उत्तर
सबसे बढ़िया उत्तर
आउटपुटस्ट्रीम का उपयोग करके हल किया गया और संलग्न ध्वज को सत्य के रूप में पास किया गया
public Boolean AppendToFile(Path fullFilePath, Account obj) {
logger.info(" Acquired Write lock on file " + fullFilePath.getFileName());
mapper = new CsvMapper();
mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
schema = mapper.schemaFor(Account.class).withColumnSeparator('|');
File outputFile = new File(fullFilePath.toUri());
if (!outputFile.exists()) {
outputFile.createNewFile();
}
ObjectWriter writer = mapper.writer(schema);
OutputStream outstream = new FileOutputStream(outputFile , true);
writer.writeValue(outstream,obj);
return true;
}
4
Amna Irshad Sipra
21 अक्टूबर 2017, 11:50
संबंधित सवाल
नए सवाल
jackson
जैक्सन पढ़ने और लिखने (पर्सिंग / जनरेटिंग) और जावा ऑब्जेक्ट्स से / के लिए डेटा बाइंडिंग जैसे कार्यों को संभालने के लिए एक जावा लाइब्रेरी है। हालांकि मुख्य रूप से JSON के लिए उपयोग किया जाता है, जैक्सन एवरो, CBOR, CSV, जावा प्रॉपर्टीज, प्रोटोबॉफ, स्माइल, एक्सएमएल और YAML जैसे कई अन्य डेटा स्वरूपों का भी समर्थन करता है।