Работа с csv-файлом

Здравствуйте!
Подскажите пожалуйста, кто знает, как считывать из csv-файла и записывать в него значения по ключу(название столбца)?
То есть не всем скопом, а по каком-то одному выбранному.
В сети множество примеров, где создаются потоки, мапы и т.п., чтобы считывать целиком что есть.
Мне надо найти определённый столбец, считать из него значение, а потом, если что-то не устраивает, в этот же столбец записать. Для простоты примера, один столбец (ключ) - одно значение.

А как иначе? Нельзя поменять что-то в середине текстового файла (ну разве что на то же самое количество символов/байтов). Надо прочитать всё, поменять, перезаписать.

Значит, иного пути нет…
Понятно, спасибо, наверное поэтому и в сети нет такого примера)))
А какой наиболее простой способ очистки файла?
Ситуация такая. Первая строка у меня заголовки (ключи), вторая - значения их.
Я это всё уже вывожу в мапу. Т.е. делаю массив первой строки, массив второй и записываю их в мапу.
Теперь, по ключу я могу в мапе поменять значение.
После того как поменял, мне надо записать новое состояние в файл.
Но перед этим его надо очистить. Подскажите пожалуйста наиболее эффективный способ очистки файла. Или может есть способ перезаписывать поверх, обновляя значения?

Я бы взял какую-нибудь библиотеку.