【问题标题】:How can i get the data for .csv File? [duplicate]如何获取 .csv 文件的数据? [复制]
【发布时间】:2011-12-05 17:25:04
【问题描述】:

可能重复:
how to use .csv file in android?

我创建了一个示例 Android 应用程序,在此我使用 .csv 文件来存储数据。我将此文件放在我的 assetsfolder 中。

在我的 .csv 文件中包含,

1   Indonesia   Jakarta Phnom Penh  New Delhi
2   Bosnia  Pristina    Sarajevo    Prague
3   Germany Frankfurt   Bonn    Berlin
4   Kenya   Kinshasa    Nairobi Pretoria
5   Colombia    Lima    Buenos Aires    Bogota

如何使用 java 代码获取 .csv 文件的值..

【问题讨论】:

  • 分隔符是制表符吗?
  • .csv(逗号分隔值)文件中的字段不是用逗号分隔吗?
  • @Marcelo:是的,我使用了逗号 (,)
  • 您是否尝试过使用 4 小时前 your question 中建议的一些库?
  • @Marcelo CSV 的名称暗示分隔符是逗号,但人们通常将使用其他分隔符(制表位、空格、哈希、分号等)的文件称为 CSV 文件:)

标签: java android csv


【解决方案1】:

您需要逐行读取文件并用分隔符分割每一行。

基本上是这样的:

try {
  File f = new File("yourpath");
  BufferedReader b = new BufferedReader( new FileReader( f ) ) );
  String line = null;
  while ( (line = b.readLine() ) != null ) {
    String[] cells = line.split( "\t" );  //assuming the separator is a tab
    //do whatever you want, e.g. collect the arrays into a list etc.
  }
} catch( IOException e) {
  //do whatever is appropriate  
}

【讨论】:

    【解决方案2】:

    使用 StringTokenizer 解析这样的文件非常简单。

    假设您已打开文件并且一次读取一行。要将字符串分解为标记,每个标记代表一个单词,您可以执行以下操作:

    String lineOfText; // This contains the current line of text
    StringTokenizer st = new StringTokenizer(input, ", "); // ' ' and ',' are use as delimiters to break up the line into individual tokens
    
    ArrayList<String> words = new ArrayList<String>     
    while(st.hasMoreElements())
         words.add(st.nextToken());
    

    这将为您提供一个数组列表,其中单个单词作为列表的元素

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      • 2010-09-29
      • 2013-02-22
      • 2019-05-23
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多