如何在安卓设备上读取csv文件?

10

可能重复:
在Android中获取和解析CSV文件

我想要将一个csv文件存储在Android应用程序中,并且应该被调用以便读取并根据需求打印值。我肯定希望在应用内部调用csv文件,而不是外部的SD卡。任何关于此的示例都将非常有帮助。谢谢。


将CSV文件放入你的Assets文件夹中,并使用OpenCSV库http://opencsv.sourceforge.net/来解析它们。 - LuxuryMode
我在我的项目中使用Java CSV。它快速且轻量级。链接:http://sourceforge.net/projects/javacsv/ - anirus
1个回答

10

我有这样的东西:

public final List<String[]> readCsv(Context context) {
  List<String[]> questionList = new ArrayList<String[]>();
  AssetManager assetManager = context.getAssets();

  try {
    InputStream csvStream = assetManager.open(CSV_PATH);
    InputStreamReader csvStreamReader = new InputStreamReader(csvStream);
    CSVReader csvReader = new CSVReader(csvStreamReader);
    String[] line;

    // throw away the header
    csvReader.readNext();

    while ((line = csvReader.readNext()) != null) {
      questionList.add(line);
    }
  } catch (IOException e) {
    e.printStackTrace();
  }
  return questionList;
}

CSVReader是一个外部jar包吗?如果是的话,你有它的认证链接吗?谢谢你的回复。 - Karthik
1
与LuxuryMode建议的相同。http://opencsv.sourceforge.net/ - Matthew Rudy
谢谢回复,但我的CSV文件大小为1.5MB。当我使用它时,我什么也得不到,但是在较小的大小上我可以得到输出。是否有任何限制CSV文件大小的限制? - Karthik
是的,我在logcat中看到了这条信息“数据超过UNCOMPRESS_DATA_MAX(1665199 vs 1048576)”,为什么我不能使用大于1 mb的文件呢? - Karthik
是否可以覆盖限制?如果可以,请给我一个代码片段。如果我增加它,允许的数量是多少? - Karthik
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接