说明:
今天朋友找我帮忙写一个操作csv文件的程序,本来想拒绝,但是一想也是一个锻炼机会,百度搜了下工具包和基本案例:这个博主写的挺好的
https://blog.csdn.net/lcr_happy/article/details/81563354
拿来自己增加了一些功能
具体功能是根据两表相同惟一的id把表2里的数据放入表1
工具类
首先是工具类:读写csv文件的jar包
下载地址:
http://repo.boundlessgeo.com/main/net/sourceforge/javacsv/javacsv/2.1/javacsv-2.1.jar
代码:
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import org.junit.Test;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
/**
* 逻辑就是把一个文件的所有内容临时保存到List里面,
* 每个list.get(i)就是文件的每一行数据
* 思路:读取每一行,字符串,按照,分隔成String[]数组,然后把这些数组一个个存到ArrayList里,
* 这样就都是有序的,然后循环遍历2个对象的这些ArrayList集合就行了。
*/
/**
* 注意事项,文件需要直接放在项目下,不要放到src目录下
*/
public class CsvToCsv2 {
public static void main(String args[]) {
//创建经纬度文件对象
CsvToCsv2 csv1 = new CsvToCsv2();
// TODO 读取经纬度文件信息存入list1,把表名改成经纬度表名
ArrayList<String[]> list1 = csv1.read("1497.csv");
//创建主表文件对象
CsvToCsv2 csv2 = new CsvToCsv2();
// TODO 读取主表文件信息存入list2,把表名改成主表名
ArrayList<String[]> list2 = csv2.read("20141201014648.csv");
//写入方法
// TODO 新生成文件的名称:
String newstr= "testWrite.csv";