今天跟大家分享一個利用外部Jar包來實作Java操作CSV檔案
一.資源下載下傳
2.利用Maven下載下傳Jar包:
net.sourceforge.javacsv
javacsv
2.0
二.操作示範
1.寫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();
}
}
2.讀CSV檔案案例
public static void readCSV() {
try {
// 用來儲存資料
ArrayList csvFileList = new ArrayList();
// 定義一個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();
}
}
三.總結
以上内容就是利用JavaCSV.jar操作的簡單示例,可以根據自己的項目需求進行酌情修改。