JAVA实现CSV文件的读取
package util.leetcode;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.*;
public class CSVReader {
public static void main(String[] args) {
String csvFile = "C:\\Users\\Desktop\\***.csv";
String desXLSFile = csvFile.replace (".csv",".xls");
String line = "";
String cvsSplitBy = ",";
HSSFWorkbook workbook = new HSSFWorkbook ();
HSSFSheet sheet = workbook.createSheet("sheet1");
HSSFRow row = sheet.createRow(0);
try (BufferedReader br = new BufferedReader (new FileReader (csvFile))) {
int currLineNO= 0;
while ((line = br.readLine ()) != null) {
String[] country = line.split (cvsSplitBy);
if (currLineNO == 0){
for (String cellVal: country ) {
String cellEncodeVal = new String (cellVal.getBytes ("utf-8"));
System.out.println ("当前表头为:"+cellEncodeVal);
HSSFCell cell = row.createCell(Short.valueOf (currLineNO+""));
cell.setCellValue(cellEncodeVal);
currLineNO++;
}
currLineNO = 1;
continue;
}
HSSFRow row1 = sheet.createRow(currLineNO);
for (int i = 0; i < country.length; i++) {
System.out.println ("当前操作元素:行数"+(i+1)+";元素值"+country[i]);
row1.createCell(Short.valueOf (i+"")).setCellValue(country[i]);
}
currLineNO ++;
System.out.println ();
}
} catch (FileNotFoundException e) {
e.printStackTrace ();
} catch (IOException e) {
e.printStackTrace ();
}
File file = new File (desXLSFile);
if (file.exists()) {
file.delete();
}
try {
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream (file);
workbook.write(fileOutputStream);
System.out.println("写入成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}