Я читаю текстовый файл (запятая как разделитель) из Java - PullRequest
0 голосов
/ 12 февраля 2019

Пример файла данных

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 );
            }
}
}

OUT PUT:

INV1
A
BB
INV2
A
CC
INV3
C
BB

Ожидаемый OUT PUT

INV1
A
BB



INV2
A
CC



INV3
C
BB

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Добавьте ограничение к методу разделения:

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

Это потому, что пустые строки справа обрезаются, если вы не задаете ограничение.Такое поведение объясняется в этом ответе .

0 голосов
/ 12 февраля 2019

Я думаю, что это связано с функцией split класса String.Эта строка должна помочь.

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

Этот ответ объясняет это достаточно хорошо: Разделение строк .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...