2016-04-03 4 views
0

Я читаю файл csv, содержащий транспортный маршрут. У меня есть отображение файла в окне терминала.Преобразование CSV в список массивов

Я хотел бы создать новый массив для каждого путешествия.

Первая строка файла - это имя стопа, затем каждая строка после этого содержит регистрацию везикулы, время начала поездки с остановкой 1 и время до следующей остановки (ов).

Таким образом, путешествие будет состоять из регистрации транспортного средства, названия остановки и времени, когда транспортное средство должно быть там.

Пример

Stop "Stop1" "Stop2" "Stop3" 
-------------------------------  
R101  650  4  7  
R101  710  4  6 
R101  730  4  9 
+0

В чем проблема? – silentprogrammer

+0

Я не знаю, как создать массив для каждой поездки. – user8010

+0

показать код, который вы пробовали. Лучше всего было бы создать отдельный класс, чтобы сказать 'Journey' и сохранить каждую строку в атрибутах этого объекта – silentprogrammer

ответ

1

Если вы не хотите использовать библиотеку, вы можете создать служебный метод, который будет конвертировать CSV в список массивов, как так;

public static List<String[]> csvToListOfArrays(String file) throws IOException { 
    BufferedReader reader = new BufferedReader(new FileReader(file)); 
    List<String[]> arrays = new ArrayList<String[]>(); 
    String line; 
    while ((line = reader.readLine()) != null) { 
     String[] tokens = line.split(","); 
     arrays.add(tokens); 
    } 
    return arrays; 
} 

В приведенной выше коде мы создаем буферный читатель и использовать метод readLine(), чтобы получить каждую строку CSV по одному за раз. Затем, когда у нас есть эта строка, мы вызываем split(","), чтобы разделить строку на массив строк в запятых. Наконец, мы добавляем массивы в список для использования позже.

Смежные вопросы