Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取.csv文件的数据?_Java_Android_Csv - Fatal编程技术网

Java 如何获取.csv文件的数据?

Java 如何获取.csv文件的数据?,java,android,csv,Java,Android,Csv,可能重复: 我创建了一个示例Android应用程序,在这里我使用.csv文件来存储数据。我将此文件放在我的资产文件夹中 在我的.csv文件中包含 1 Indonesia Jakarta Phnom Penh New Delhi 2 Bosnia Pristina Sarajevo Prague 3 Germany Frankfurt Bonn Berlin 4 Kenya Kinshasa Nairobi Pretoria 5 Col

可能重复:

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

在我的.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文件的值。

您需要逐行读取文件,并用分隔符拆分每行

基本上是这样的:

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  
}

使用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());
字符串行文本;//这包含当前的文本行
StringTokenizer st=新的StringTokenizer(输入“,”;/”)和','用作分隔符,将行拆分为单个标记
ArrayList words=新ArrayList
而(st.hasMoreElements())
添加(st.nextToken());

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

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