Reading CSV file is required often in java projects. Instead of using parsing it manually via array or something like that. This sample shows how to parse comma separated file using Java StringTokenizer or read csv file using Java StringTokenize.
Parse CSV File using StringTokenizer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
package com.javabycode.csv; import java.io.BufferedReader; import java.io.FileReader; import java.util.StringTokenizer; public class ReadCSVFileSample { public static void main(String[] args) { try { //csv file containing data String filePath = "C:/javabycode/filedata.csv"; //read csv data into buffer BufferedReader buf = new BufferedReader( new FileReader(filePath)); String strLine = ""; StringTokenizer strToken = null; int lineNumber = 0, tokenNumber = 0; //parse comma separated line by line while( (strLine = buf.readLine()) != null) { lineNumber++; //break comma separated line using "," strToken = new StringTokenizer(strLine, ","); while(strToken.hasMoreTokens()) { tokenNumber++; System.out.println("Line number: " + lineNumber + ", Token number: " + tokenNumber + ", Token : "+ strToken.nextToken()); } //reset token number tokenNumber = 0; } } catch(Exception e) { System.err.println("Exception while reading csv file: " + e); } } } |
Input data
"Banana","Apple","Orange","Kiwi"
"Mango","Lemon","Cherry","Grape","Tomato","Strawberry"
Output
Line number: 1, Token number: 1, Token : "Banana"
Line number: 1, Token number: 2, Token : "Apple"
Line number: 1, Token number: 3, Token : "Orange"
Line number: 1, Token number: 4, Token : "Kiwi"
Line number: 2, Token number: 1, Token : "Mango"
Line number: 2, Token number: 2, Token : "Lemon"
Line number: 2, Token number: 3, Token : "Cherry"
Line number: 2, Token number: 4, Token : "Grape"
Line number: 2, Token number: 5, Token : "Tomato"
Line number: 2, Token number: 6, Token : "Strawberry"
That’s all on how to read csv file using java StringTokenize. Welcome any comment if you have other way to do this thing.