在Android中读取/写入CSV

在Android中读取/写入CSV

问题描述:

我将选择一个csv文件,然后将数据导入sqlite.i也可以将数据从sqlite导出到csv文件.谢谢Advanced

I will select a csv file and then import the data to sqlite.i can also export the data from sqlite to csv file.if you simply show me to read/write CSV in android that will be good enough for me..Thanks in advanced

Java本机不支持解析CSV文件,我们必须依赖第三方库.曾经有3rd party库 Opencsv 是在Android平台上读写CSV文件的很好的库.
首先,您需要下载下载此库.然后尝试...

使用Java读取CSV文件:
Java doesn’t support parsing of CSV files natively, we have to rely on third party library. There was 3rd party library Opencsv is very good library to read and write CSV file in android platform.
At first you need to download this library Download. Then try...

Reading CSV file in Java:
String csvFilename = "C:\\sample.csv";
CSVReader csvReader = new CSVReader(new FileReader(csvFilename));
String[] row = null;
while((row = csvReader.readNext()) != null) {
    System.out.println(row[0]
              + " # " + row[1]
              + " #  " + row[2]);
}
//...
csvReader.close();


上面的代码逐行读取csv文件.如果您想使用以下代码一次阅读完整的文档:


Above code read csv file line by line. If you want to read full document once using below code:

String[] row = null;
String csvFilename = "C:\\work\\sample.csv";
 
CSVReader csvReader = new CSVReader(new FileReader(csvFilename));
List content = csvReader.readAll();
 
for (Object object : content) {
    row = (String[]) object;
     
    System.out.println(row[0]
               + " # " + row[1]
               + " #  " + row[2]);
}
//...
csvReader.close();



用Java编写CSV文件:



Writing CSV file in Java:

String csv = "C:\\work\\output.csv";
CSVWriter writer = new CSVWriter(new FileWriter(csv));
 
String [] country = "India#China#United States".split("#");
 
writer.writeNext(country);
 
writer.close();


上面的代码用于在csv中编写字符串数组,但是您可以使用下面的代码编写完整的文档或字符串数​​组列表:


Above code use to write a string array in csv, but you can write a full document or list of string array using below code:

String csv = "C:\\work\\output.csv";
CSVWriter writer = new CSVWriter(new FileWriter(csv));
 
List<string[]> data = new ArrayList<string[]>();
data.add(new String[] {"India", "New Delhi"});
data.add(new String[] {"United States", "Washington D.C"});
data.add(new String[] {"Germany", "Berlin"});
 
writer.writeAll(data);
 
writer.close();



试试这个,我认为它对您来说很好...



Try this i think it work fine for you...