I am writing a parser code to read a .csv file and parse it to XML. This is the code I have and it works, except I would like it to skip the first line in the file. So I decided
Create a variable interation
and initialize with 0
. Check it as very first thing in while
loop.
String line;
int iteration = 0;
while ((line = br.readLine()) != null) {
if(iteration == 0) {
iteration++;
continue;
}
...
...
}
boolean isRecord = false;
for (CSVRecord record : records) {
if(isRecord){
//process records here.
}else{
isRecord = true;
}
}
Instead of adding counter adding flag will not hit the performance.
I am rather confused by your code, your have the lineMap and you also have fw (whatever that is). Which one are you using? You say you want to skip the first line, but you don't
if (firstLine == true) {
firstLine = false;
continue;
}
I would also suggest using a library like CSVReader which I belive even has a property ignoreFirstLine
http://opencsv.sourceforge.net/apidocs/au/com/bytecode/opencsv/CSVReader.html
why don't you just use the for loop
for(int i=1; (line = br.readLine()) != null; i++)
{
//Your code
}
For skipping first line(which normally contains header of the columns) take a variable and increase this variable in while loop at first place, and continue;
int lineNumber = 0;
and then in while loop
while ((line = br.readLine()) != null) {
if(lineNumber == 0) {
lineNumber++;
continue;
}
lineNumber++;
//do waterver u have to do with the tokens in this line(second line)
}
Use buffer reader two times, like this:
while ((line = br.readLine()) != null) {
while ((line = br.readLine()) != null) {
//your code
}
}