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文件:)