Java android openCSV., Пытаясь поместить данные в массивы и проверить данные - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть проект студии android, использующий Java и openCSV.Я пытаюсь прочитать удаленный файл .csv, превратить каждую строку файла в список / массив и поместить их в другой список / массив.

@Override
public void run() {
    try {
        String urlString = "http://www.fakeplace.com/random.csv";
        URL stockURL = new URL(urlString);
        BufferedReader in = new BufferedReader(new InputStreamReader(stockURL.openStream()));
        CSVReader csvReader = new CSVReader(in);
        ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
        String[] nextLine;
        while ((nextLine = csvReader.readNext()) != null) {
            ArrayList<String> list = new ArrayList<>();
            for (int i = 0; i < nextLine.length; i++) {
                list.add(nextLine[i]);
                array.add(list);
            }
            MyPrint(array.toString());
        }
        csvReader.close();
    }
    catch(Exception e)
    {
        final String msg = e.toString();
        MyToast(msg);
    }
}

Это краткий пример.CSV-файл

Date,Time,One,Two,Three,Four,Five,Six,Seven,Eight
31-Jan-19,midday,2,1,7,-,-,-
31-Jan-19,evening,1,5,5,-,-,-
30-Jan-19,midday,1,8,0,-,-,-
30-Jan-19,evening,4,3,1,-,-,-
29-Jan-19,midday,5,8,1,-,-,-

Когда этот код запускается, вывод будет

[[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six],
[Date,Time,One,Two,Three,Four,Five,Six]]

Я думаю, что я хочу видеть,

[[Date,Time,One,Two,Three,Four,Five,Six]
[31-Jan-19,midday,2,1,7,-,-,-],
[31-Jan-19,evening,1,5,5,-,-,-],
[30-Jan-19,midday,1,8,0,-,-,-],
[30-Jan-19,evening,4,3,1,-,-,-],
[29-Jan-19,midday,5,8,1,-,-,-]]
...