О сортировке элементов строки в CSV-файле и сохранении их в разных Arraylists - PullRequest
0 голосов
/ 04 мая 2020

Итак, у меня есть CSV-файл, который выглядит примерно так:

LS1312, AWFXQA, -12107909  
LS1313, VEDSBJV, -55003726  
LS1314, UCRQSE, -1711111

....

Поэтому мне интересно, как я могу сохранить первый элемент строки (например, LS1312, LS1313) в мой первый ArrayList и второй элемент (AWFXQA, VEDSBJV) во второй ArrayList и последний элемент (-12107909, -55003726) в третий ArrayList? Это то, что у меня есть сейчас: мне удалось прочитать файл, но я не уверен, как хранить элементы в соответствующем Arraylist.

public static void main(String[] args) throws FileNotFoundException {

    Scanner scanner = new Scanner(new File(args[0]));

    scanner.useDelimiter(",");

    ArrayList < String > arrlist1 = new ArrayList < >();
    ArrayList < String > arrlist2 = new ArrayList < >();
    ArrayList < String > arrlist3 = new ArrayList < >();

    while (scanner.hasNext()) {
        arrlist1.add(scanner.next());
    }
    scanner.close();
}

Ответы [ 2 ]

2 голосов
/ 04 мая 2020

Вы можете использовать общую библиотеку CSV:

Простой:

 Reader in = new FileReader("yourFile.csv");
 Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
 for (CSVRecord record : records) {
      arrlist1.add(record.get(0));
      arrlist2.add(record.get(1));
      arrlist3.add(record.get(2));
 }
1 голос
/ 04 мая 2020

Вы должны использовать метод split(), чтобы разбить строку и присвоить эквивалентный массив

public static void main(String[] args) throws FileNotFoundException {
    Scanner scanner = new Scanner(new File(args[0]));
    ArrayList<String> arrlist1 = new ArrayList<>();
    ArrayList<String> arrlist2 = new ArrayList<>();
    ArrayList<String> arrlist3 = new ArrayList<>();

    String[] split;
    while (scanner.hasNextLine())  {
        split= scanner.nextLine().split(",");
        arrlist1.add(split[0]);
        arrlist2.add(split[1]);
        arrlist3.add(split[2]);
    }
    scanner.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...