HuTool工具包操作csv檔案
阿新 • • 發佈:2021-06-22
CsvUtil
是CSV工具類,主要封裝了兩個方法:
getReader 用於對CSV檔案讀取
getWriter 用於生成CSV檔案
1、讀取檔案
讀取為CsvRow
CsvReader reader = CsvUtil.getReader(); //從檔案中讀取CSV資料 CsvData data = reader.read(FileUtil.file("test.csv")); List<CsvRow> rows = data.getRows(); //遍歷行 for (CsvRow csvRow : rows) { //getRawList返回一個List列表,列表的每一項為CSV中的一個單元格(既逗號分隔部分)Console.log(csvRow.getRawList()); }
讀取為Bean列表
CsvReader csvReader = CsvUtil.getReader(); //使用GBK編碼,否則中文出現亂碼, // 若使用Utf8 可以直接使用ResourceUtil.getUtf8Reader("test2.csv") List<BeanDto> rows = csvReader.read(ResourceUtil.getReader("test2.csv", CharsetUtil.CHARSET_GBK), BeanDto.class); for (BeanDto bean : rows) { System.out.println(bean); }
讀取為Bean時,第一行是標題,必須與Bean的屬性名一致,如果不一致可以使用@Alias("csv檔案中名稱")註解,該註解作用在屬性上,例如
@Data public class BeanDto { @Alias("裝置內碼") private String indexCode; @Alias("IP地址") private String address; @Alias("埠號") private Integer port; @Alias("裝置賬號") private String userName; }
執行結果