javacsv读写csv

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的表头是什么鬼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值