Le format CSV est un fichier texte dans lequel les valeurs sont délimitées par un caractère, le plus souvent ';'. Dans l'exemple, StringTokenizer sépare les données par rapport au délimiteur.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 * Parser un fichier CSV avec StringTokenizer
*/
public class CSVParser {
public static void main(String[] args) {
try {
String csvFile = "C:/monfichier.csv";
String delimiter = ";";
String line = null;
StringTokenizer strToken = null;
BufferedReader bufferReader;
int lineID = 0;
int fieldID = 0;
//Ouvrir le fichier CSV
bufferReader = new BufferedReader(new FileReader(csvFile));
//parcourir les lignes du fichier CSV
while ((line = bufferReader.readLine()) != null) {
lineID++;
//Parcourir les champs séparés par delimiter
strToken = new StringTokenizer(line, delimiter);
while (strToken.hasMoreTokens()) {
fieldID++;
System.out.println("Ligne " + lineID
+ " / champs " + fieldID
+ " : " + strToken.nextToken());
}
fieldID = 0;
}
} catch (IOException ex) {
Logger.getLogger(CSVParser.class.getName()).log(Level.SEVERE, null, ex);
}
}
}