Есть ли способ изменить значение конкретной ячейки в файле csv в java?

Я ответил на другие вопросы по этому поводу в StackOverflow, но упомянутые там библиотеки позволяют только читать или писать. Некоторые из них допускают частичное чтение или запись, например SuperCSV, но никакая библиотека не может использоваться для обновления значения конкретной ячейки. Есть ли какая-то другая библиотека, которую можно использовать, или мне нужно сделать это вручную?


person rishiag    schedule 14.06.2012    source источник
comment
как бы вы определили эту ячейку? Есть ли шаблон?   -  person amicngh    schedule 14.06.2012


Ответы (2)


Прочитайте CSV, измените нужную ячейку, а затем запишите ее обратно в файл.

person tskuzzy    schedule 14.06.2012
comment
Как изменить ячейку? На самом деле эта возможность будет использоваться в Neural Engine. Не то чтобы я хотел сделать это для определенного файла. - person rishiag; 14.06.2012

Нет, напрямую обновить ячейку в CSV-файле невозможно. Вы можете читать CSV построчно, а затем столбец за столбцом, обновлять ячейку (содержимое) и записывать в новый файл.

И если вы знаете шаблон (регулярное выражение), вы можете использовать метод String.replace().

person amicngh    schedule 14.06.2012
comment
Да, это то, что я прочитал в другом вопросе о SO. Не могли бы вы также сказать мне, как лучше всего обновить содержимое ячейки? Должен ли я разобрать их в строку или использовать библиотеку? - person rishiag; 14.06.2012
comment
я не знаю какой-либо библиотеки лучше, чтобы прочитать файл в строке и заменить содержимое. - person amicngh; 14.06.2012