У меня есть проект студии 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,-,-,-]]