android - CSV 缺失值

标签 android csv opencsv

我正在使用 openCSV 读取 csv 文件,以便为我的 android 应用程序增加自动完成功能。尽管 csv 中的大部分值都已成功读取并扩展了自动完成 TextView ,但其中一些值“丢失”了。例如,程序不会读取 csv 值 "Los Angeles, CA ",LAX

读取 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);
 }

机场代码.csv:

...

"Lorient, France ",LRT
"Los Angeles, CA ",LAX    // Los Angles LAX is in csv file.
"Los Cabos, Mexico ",SJD
...

日志:

...
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
...

最佳答案

您的 while 循环正在从 CSV 文件中提取每行奇数数据并将其丢弃 :)

试试这个:

while ((nextLine = reader.readNext()) != null) 
{
   Log.i("ArrivalTest", nextLine[0] + "- " + nextLine[1]);
   srd.add(nextLine[0] + " - " + nextLine[1]);
}

关于android - CSV 缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600616/

相关文章:

java - 只听一次音量键按钮

java - finish() 不会第一次关闭当前 Activity

Python-使用凭据从 ftp url 中提取 csv

java - 使用 newOutputStream 方法定义文件位置

java - 如何替换 CSV 文件中的特定行?

android - 我错误地删除了我的 res 文件夹

Android - 如何通过 XML 编辑图像的大小以用作图标

powershell - 使用 Powershell 修改 CSV 内容

python - 如何在不连接的情况下读取 Python 数据框中的数据?

java - 使用打开的 CSV Writer 从 java 中的 bean 对象生成 txt 文件时添加了额外的回车符