Javacsv读写csv文件

2018-03-13 11:53:52
1437次阅读
0个评论


CSV文件的读写有很多方法的,这里介绍一种利用第三方jar包/javacsv来读写CSV文件的方法。

1.先下载Jar包:


http://central.maven.org/maven2/net/sourceforge/javacsv/javacsv/2.0/javacsv-2.0.jar


读CSV文件示例

public static void readCSV() {  
    try {  
        // 用来保存数据  
        ArrayList<String[]> csvFileList = new ArrayList<String[]>();  
        // 定义一个CSV路径  
        String csvFilePath = "D://StemQ.csv";  
        // 创建CSV读对象 例如:CsvReader(文件路径,分隔符,编码格式);  
        CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));  
        // 跳过表头 如果需要表头的话,这句可以忽略  
        reader.readHeaders();  
        // 逐行读入除表头的数据  
        while (reader.readRecord()) {  
            System.out.println(reader.getRawRecord());   
            csvFileList.add(reader.getValues());   
        }  
        reader.close();  
          
        // 遍历读取的CSV文件  
        for (int row = 0; row < csvFileList.size(); row++) {  
            // 取得第row行第0列的数据  
            String cell = csvFileList.get(row)[0];  
            System.out.println("------------>"+cell);  
        }  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
}


写CSV文件示例

public static void writeCSV() {  
    // 定义一个CSV路径  
    String csvFilePath = "D://StemQ.csv";  
    try {  
        // 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);  
        CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));  
        // 写表头  
        String[] csvHeaders = { "编号", "姓名", "年龄" };  
        csvWriter.writeRecord(csvHeaders);  
        // 写内容  
        for (int i = 0; i < 20; i++) {  
            String[] csvContent = { i + "000000", "StemQ", "1" + i };  
            csvWriter.writeRecord(csvContent);  
        }  
        csvWriter.close();  
        System.out.println("--------CSV文件已经写入--------");  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
}




收藏00

登录 后评论。没有帐号? 注册 一个。