Я использую openCSV для чтения файла csv, чтобы раздуть мой автозаполнение для моего приложения для Android. Хотя большинство значений из csv успешно читаются и накачиваются автоматически полным текстовым представлением, некоторые из них «отсутствуют». Например, значение csv «Лос-Анджелес, Калифорния», LAX не читается программой.CSV missing values
Чтение CSV:
public void readCSV() throws IOException {
InputStream is = this.getAssets().open("airport-codes.csv");
InputStreamReader ifr = new InputStreamReader(is, "UTF-8");
CSVReader reader = new CSVReader (ifr);
ArrayList<String> srd = new ArrayList<>();
while ((reader.readNext()) != null)
{
nextLine = reader.readNext();
Log.i("ArrivalTest", nextLine[0] + "- " + nextLine[1]);
srd.add(nextLine[0] + " - " + nextLine[1]);
}
reader.close();
autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.originCityAutoComp1);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, srd);
autoCompleteTextView.setAdapter(adapter);
}
аэропорт-codes.csv:
...
"Lorient, France ",LRT
"Los Angeles, CA ",LAX // Los Angles LAX is in csv file.
"Los Cabos, Mexico ",SJD
...
Logcat:
...
Longview, TX - GGG
Lonorore, Vanuatu - LNE
Lord Howe Island, NS, Australia - LDH
Lorient, France - LRT
Los Cabos, Mexico - SJD // Los Angles LAX is missing.
Losuia, Papua New Guinea - LSA
Lourdes/Tarbes, France - LDE
...
Полная догадку здесь, но попробуйте проверить окончание строки символов в файле .csv для записи LA, и оба из его записей соседа. – PeteB
@PeteB Спасибо за комментарий. Я принял ваш совет и проверил символы окончания строки (использовал Notepad ++, искал CR и LF в конце каждой записи), но они были правильно перечислены. – user3503916