基于参数从csv文件中跳过文件

时间:2013-10-30 14:05:36

标签: java filehandle

我有一个csv文件。我将它上传到MySQL。上传时我必须检查每一行中是否存在所有值。 例如:

    File A has
    aaa, bbb, ccc, ddd (line 1)
    eee, fff, ggg, hhh (line 2)
    iii, jjj, kkk (line 3)
    jjj, kkk, lll, mmm (line 4 )

在上面的文件中,第3行只有3个值。要求是第3行必须写在单独的文件中。其他三行必须更新表格。

它应该跳过第3行并且必须写入单独的文件。

任何帮助?

2 个答案:

答案 0 :(得分:0)

String csvFile = "file.csv";
String line;

BufferedReader br = new BufferedReader(new FileReader(csvFile)); 

while((line = br.readLine()) != null) {

    String[] country = line.split(",");
    if(country.length == 4) {
        //Do whatever should be done
    } 
}

这是基于http://www.mkyong.com/java/how-to-read-and-parse-csv-file-in-java/

中的示例1

你当然应该做你需要的任何事情来修改存在的元素数量

答案 1 :(得分:0)

你可以使用这样的东西,

while ((line = bufRdr.readLine()) != null) {

           StringTokenizer st = new StringTokenizer(line, delims);
           int length = st.countTokens();
           System.out.println("len " + st.countTokens());
           if (length != 4) {
               continue;
           }
           writer.write(line);// you can save all the lines with 4 words into another csv file

       }