import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
public class csvTest {
public static ArrayList<String[]> result = new ArrayList<String[]>();
public void readCsv(String path){
//String file = "e:/e.csv";
try{
CsvReader rd = new CsvReader(path,',');
StringsPrint sb = new StringsPrint();
//result.add(rd.getValues()) ; //这里输出是空值
//sb.printStrings(rd.getHeaders()); //getHeaders 也是空值??
rd.getHeaders(); //无论有没有这一句 第一行的读取 不印象,可见表头不是第一行数据,那表头是什么鬼
//System.out.println(rd.getRawRecord());
//System.out.println(rd.get(0)); //空值
int i = 1;
while(rd.readRecord()){
String[] tmp = rd.getValues();
System.out.println("tmp"+i+"长度:"+tmp.length);
sb.printStrings(tmp);
result.add(tmp);
i++;
}
System.out.println("结果长度"+result.size());
rd.close();
}catch(Exception e){
e.printStackTrace();
}
}
public void writeCsv(){
try {
String csvFilePath = "e:/test.csv";
CsvWriter wr =new CsvWriter(csvFilePath,',',Charset.forName("SJIS"));
//s = result;
System.out.println(result);
for(int i =0 ;i<result.size();i++){
wr.writeRecord(result.get(i));
}
wr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]){
csvTest test = new csvTest();
test.readCsv("E:/e.csv");
test.writeCsv();
}
}
为了省事就把读取的数据重新写入了。。
打印string[] 自己写就可以了,很简单
但是csv的表头是什么鬼