Чтение из файла CSV, пытаясь получить каждую строку.
Он будет читать все строки, но будет выполняться дополнительное время, в результате чего массив `String 'попытается извлечь из нулевой ссылки.Данные состоят из 6 строк с 4 элементами, разделенными символом ','.
public void setReadingArray(File localFile){
Log.e("MyActivity","Reading into Array");
InputStream is = null;
try {
is = new FileInputStream(localFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(DailyReadingActivity.this,"Could not find file Exception: "+ e, Toast.LENGTH_LONG).show();
}
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, Charset.forName("UTF-8")));
try {
String line = reader.readLine();
while (line != null) {
Log.d("MyActivity", " Creating dailyReader ");
//Split by ,
String[] tokens;
tokens = line.split(",");
//Read Data
DailyReading dailyReading = new DailyReading();
dailyReading.setBookName(tokens[0]);
dailyReading.setChapter(tokens[1]);
dailyReading.setBookName2(tokens[2]);
dailyReading.setChapter2(tokens[3]);
listReadings.add(dailyReading);
Log.d("MyActivity", " Just Created " + dailyReading);
line = reader.readLine();
}
} catch (IOException e) {
Log.wtf("MyActivity", " Error Reading Data File on Line " + e);
e.printStackTrace();
}
try {
Log.d("MyActivity", " Close File 'is' ");
is.close();
} catch (IOException e) {
e.printStackTrace();
}
D/MyActivity: Creating dailyReader Test,1,Test2,1
D/MyActivity: Creating dailyReader Test,2,Test2,2
D/MyActivity: Creating dailyReader Test,3,Test2,3-4
D/MyActivity: Creating dailyReader Test,1,Test2,1
D/MyActivity: Creating dailyReader Test,2,Test2,2
D/MyActivity: Creating dailyReader Test,3,Test2,3-4
D/MyActivity: Creating dailyReader
Новый код, который я изменил на.По-прежнему та же проблема.
try {
String line = "";
DailyReading dailyReading = new DailyReading();
while ((line = reader.readLine()) != null) {
Log.d("MyActivity", " Creating dailyReader "+ line);
//Split by ,
String[] tokens;
tokens = line.split(",");
//Read Data
// DailyReading dailyReading = new DailyReading();
dailyReading.setBookName(tokens[0]);
dailyReading.setChapter(tokens[1]);
dailyReading.setBookName2(tokens[2]);
dailyReading.setChapter2(tokens[3]);
listReadings.add(dailyReading);
// Log.d("MyActivity", " Just Created " + dailyReading);
}
} catch (IOException e) {
Log.wtf("MyActivity", " Error Reading Data File on Line " + e);
e.printStackTrace();
}
Показание:
D/MyActivity: Creating dailyReader Test,1,Test2,1
D/MyActivity: Creating dailyReader Test,2,Test2,2
D/MyActivity: Creating dailyReader Test,3,Test2,3-4
D/MyActivity: Creating dailyReader Test,1,Test2,1
D/MyActivity: Creating dailyReader Test,2,Test2,2
D/MyActivity: Creating dailyReader Test,3,Test2,3-4
D/MyActivity: Creating dailyReader
, поскольку вы можете видеть, что оно работает в это дополнительное время внизу, которое выдает мне ошибку, Пока!= null, похоже, не работает.