0

我正在解析一个制表符分隔的 .csv 文件。如您所见,有箭头代替选项卡;这是因为我在记事本中启用了“显示所有字符”选项。

AAA->BBB->CCC->CRLF

agf->jui->kje->aweCRLF

bvg->qaz->plm->yhbCRLF

现在我正在使用 csv beans 0.7 解析器来解析这个 .csv 文件,并且我正在像这样获取每个列的 objecTS

if(f.getAAA() && f.getBBB() && f.getCCC() && f.getDDD()) // IT IS GETTING THE VALUE OF ROW1 agfjuikjeawe
  { }

现在从后端接收到这个 .csv 文件,任何列的值也可能为空,如下所示

AAA->BBB->CCC->CRLF

agf->->kje->aweCRLF

bvg->qaz->plm->yhbCRLF

我正在设置这样的条件来检查空值,但是,如您所见,如果该值不存在但制表符存在,那么我的检查条件是正确的

if(f.getAAA()!=null && f.getBBB()!=null && f.getCCC()!=null && f.getDDD()!=null)
  { }
4

1 回答 1

0

我不知道您正在使用的库,但是对于普通的 java,您可以在 csv 文件的每一行中使用 String的split(string)方法,如下所示:

final String s = "abc\tefg\thij";
final String [] values = s.split("\t");
System.out.println(Arrays.toString(values));

编辑:方法的“\t”参数是制表符的特殊字符。然后,您可以检查数组中的元素以查找空字符串,这将是您的空值。

于 2013-05-02T17:41:53.420 回答