【问题标题】:java:how to check if csv file has headerjava:如何检查csv文件是否有标题
【发布时间】:2011-10-30 14:56:17
【问题描述】:

我有一个 csv 文件,我可以在其中插入第一次运行的标题,但是当我再次写入文件时,程序会再次创建标题。有没有办法检查 csv 文件是否有标题,如果有则跳过它?

【问题讨论】:

    标签: java file csv io


    【解决方案1】:

    您是否只是将记录附加到现有文件中,在这种情况下,程序会在先前写入之后附加标头?

    您能否简单地检查文件是否存在,如果存在并且大小不为零,则假设文件头已经存在?

    【讨论】:

      【解决方案2】:

      您必须阅读第一行并测试第一列是否与您期望的列标题匹配。由于您的代码插入了标题,我假设它知道标题应该是什么样子。您可以在标题检查中使用相同的变量。类似的东西:

      String HEADER = "column1,column2,column3";
      String COLUMN1 = HEADER.substring(0,HEADER.indexOf(",")+1); //Or just set it to "column1", but that would be violating the DRY principle!
      
      //...Get line1, column1 from the file you are reading
      
      if(!line1Column1.equals(COLUMN1))
      {
          out.write(HEADER); 
      }
      
      // Print rows of data...
      

      【讨论】:

      • HEADER.substring(0,HEADER.indexOf(",")+1); 你不需要加 1,这将返回 column1, 而不是 column1
      【解决方案3】:

      如果你插入了标题,你不能让它开始吗,例如用破折号(#),如果存在就不要再写了吗?

      问候, 斯蒂芬

      【讨论】:

        【解决方案4】:

        您是使用任何框架来执行此操作还是您自己执行此操作.. 代码 sn-p 会有所帮助...或者您可以放置​​一个布尔标志来检查或硬匹配标准标题代码的第一行以检查它...

        【讨论】:

          猜你喜欢
          • 2017-03-04
          • 2012-08-30
          • 2021-03-21
          • 1970-01-01
          • 2018-06-24
          • 2020-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多