मैं जैक्सन सीएसवी (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