我正在从Java读取文本文件(以逗号作为定界符)

时间:2019-02-11 23:37:21

标签: java oracle

样本数据文件

INV1,A,BB,,,,
INV2,A,CC,,,,
INV3,C,BB,,,,

阵列第一行仅获得INV1 A和BB,第二行类似获得INV2 a和CC,第三行获得INV3 C和BB。其余值未考虑。

我的代码

        BufferdReader bReader = new BufferedReader (new FileReader(/home/test.txt));
        String line = "";
        while ((line = bReader.readLine ()) !=null)
    {
 if (line != null)
{
 String[] array = line.split(",") ;
  for (String arrays : array ) {
                System.out.println(arrays );
            }
}
}

输出:

INV1
A
BB
INV2
A
CC
INV3
C
BB

预期输出

INV1
A
BB



INV2
A
CC



INV3
C
BB

2 个答案:

答案 0 :(得分:2)

我认为这与String类的split函数有关。 这行应该可以解决问题。

"INV1,A,BB,,,,".split(",", -1);

这个答案已经足够好地解释了:String split

答案 1 :(得分:2)

为split方法添加一个限制:

String[] array = line.split(",", -1);

这是因为,如果不提供限制,则会修剪掉右边的空字符串。 this answer中对此行为进行了说明。