java讀取csv文件

jopen 9年前發布 | 1K 次閱讀 Java

CSV其實就是COMMA SEPARATED VALUE的縮寫。
在開發中用Java操作csv文件有專門的的API叫javacsv.jar 

javacsv.jar下載地址: 
http://sourceforge.net/project/showfiles.php?group_id=33066

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import com.syc.test.DAO.ConnectionDB;
import com.syc.test.bean.ReslutBean;

public class Java2CSV {
/**

 * @param args  
 * @throws Exception  
 */  
public static void main(String[] args) throws Exception {   
    // 從獲取將要寫入csv文件的結果集   
    List<ReslutBean> list = new ArrayList<ReslutBean>();   
    list = ConnectionDB.querySQL();   

    // 預組裝csv文件內容標題行   
    String[][] data = new String[list.size() + 1][2];   
    data[0][0] = "Help_keyword_id";   
    data[0][1] = "Name";   

    // 預組裝csv文件內容   
    int len = list.size();   
    for (int i = 0; i < len; i++) {   
        data[i + 1][0] = list.get(i).getHelp_keyword_id();   
        data[i + 1][1] = list.get(i).getName();   
    }   

    writerCsv("e://c測試.csv", data);   
    readerCsv("e://c測試.csv");   
}   

/**  
 * 讀取csv  
 *   
 * @param csvFilePath  
 * @throws Exception  
 */  
public static void readerCsv(String csvFilePath) throws Exception {   

    CsvReader reader = new CsvReader(csvFilePath, ',',   
            Charset.forName("GBK"));// shift_jis日語字體,utf-8  
    reader.readHeaders();   
    String[] headers = reader.getHeaders();   

    List<Object[]> list = new ArrayList<Object[]>();   
    while (reader.readRecord()) {   
        list.add(reader.getValues());   
    }   
    Object[][] datas = new String[list.size()][];   
    for (int i = 0; i < list.size(); i++) {   
        datas[i] = list.get(i);   
    }   

    /*  
     * 以下輸出  
     */  

    for (int i = 0; i < headers.length; i++) {   
        System.out.print(headers[i] + "\t");   
    }   
    System.out.println("");   

    for (int i = 0; i < datas.length; i++) {   
        Object[] data = datas[i]; // 取出一組數據  
        for (int j = 0; j < data.length; j++) {   
            Object cell = data[j];   
            System.out.print(cell + "\t");   
        }   
        System.out.println("");   
    }   
}   
}</pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!