# In csv-Dateien schreiben, wie?



## cipoint (25. Mai 2006)

Mein Programm muss Einträge aus einer csv-Datenbank auslesen und verändern können.
Das Auslesen klappt schon sehr gut. Aber ich habe überhaupt keine Ahnung, wie ich einzelne Einträge verändern könnte.

Eine csv-Datei ist sehr einfach aufgebaut. Es ist eine ASCII Datei, die eine Tabelle darstellt.
Die Spalten werden mit ";" getrennt, während die Zeilen mit "Umbruch" dargestellt werden.
Bsp.:

```
to run;rennen;1
to fly;fliegen;1
desk;Tisch;1
house;Haus;1
garden;Garten;1
sky;Himmel;1
```

Wie könnte ich nun z.B. die "1" in der zweiten Zeile mit einer "2" ersetzen?
Man könnte ja nach dem Eintrag "to fly" suchen, dann zwei Trenner ";" weitergehen und die "1" überschreiben. Aber gesagt ist einfacher als getan ...

Die Klasse "FileWriter" bietet ja die Möglichkeit, in eine ASCII Datei Text zu schreiben. Aber ich habe keine Methoden gefunden, die es ermöhlichen, in der Datei zu navigieren.


----------



## Thomas Darimont (25. Mai 2006)

Hallo!

Es gibt JDBC Treiber für CSV-Dateien... mit denen kannst du dann die Inhalte der Dateien mit Standard SQL Abfragen und Manipulieren...
Schau mal hier:
https://xlsql.dev.java.net/
http://sourceforge.net/projects/csvjdbc/
http://www.csv-jdbc.com/

Gruß Tom


----------



## cipoint (27. Mai 2006)

Ich habe das etwas einfacher gelöst. Es werden alle Zeilen in ein Array geladen, eine bestimmte Zeile verändert und dann wieder alle Einträge in die Datei geschrieben.
Ist zwar nicht sehr performanceschonend, aber bei den KB großen Datenbanken spielt das keine Rolle.


----------

