Java opencsv--使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中
来源:互联网 发布:windows escape python 编辑:程序博客网 时间:2024/05/29 14:25
Java opencsv--使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中
一.studentConfig.csv 文件:
ID,NAME,SCORE1,张三,1002,李四,903,赵五,604,王六,55
二.StudentConfigBean.java 文件:
package com.jiangge.config;public class StudentConfigBean {/** * 配置 Bean */private int id; private String name;private int score;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}}
三.StudentConfig.java 文件:
package com.jiangge.config;import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.stereotype.Component;import au.com.bytecode.opencsv.CSVReader;import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy;import au.com.bytecode.opencsv.bean.CsvToBean;import au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy;import javax.annotation.PostConstruct; @Componentpublic class StudentConfig {/** * 使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中 * 库version:opencsv-2.3.jar */public static Map<Integer, StudentConfigBean> studentMap;@PostConstruct public void init(){HeaderColumnNameTranslateMappingStrategy<StudentConfigBean> strategy = new HeaderColumnNameTranslateMappingStrategy<StudentConfigBean>();strategy.setType(StudentConfigBean.class);Map<String, String> columnMapping = new HashMap<String, String>();columnMapping.put("ID", "id"); //csv头和 java类成员变量映射columnMapping.put("NAME", "name");columnMapping.put("SCORE", "score");strategy.setColumnMapping(columnMapping);List<StudentConfigBean> list = null;String csvFilename = "C:\\studentConfig.csv"; //TODO 放到项目路径下CSVReader csvReader = null; DataInputStream in = null;try {in = new DataInputStream(new FileInputStream(new File(csvFilename)));} catch (FileNotFoundException e) {e.printStackTrace();}try {csvReader = new CSVReader(new InputStreamReader(in,"utf-8")); //解决中文乱码,另注意csv文件的编码格式.} catch (UnsupportedEncodingException e) {e.printStackTrace();}CsvToBean<StudentConfigBean> csvToBean = new CsvToBean<StudentConfigBean>();list = csvToBean.parse(strategy, csvReader);studentMap = new HashMap<Integer, StudentConfigBean>();for (Object object : list) {StudentConfigBean studentCfgBean = (StudentConfigBean) object;studentMap.put(studentCfgBean.getId(), studentCfgBean); //放到 map 里System.out.println("学生的配置文件读取");System.out.println("Id==>" + studentCfgBean.getId() + " Name==>" + studentCfgBean.getName() + " Score==>" + studentCfgBean.getScore());}}}
四:输出:
学生的配置文件读取Id==>1 Name==>张三 Score==>100学生的配置文件读取Id==>2 Name==>李四 Score==>90学生的配置文件读取Id==>3 Name==>赵五 Score==>60学生的配置文件读取Id==>4 Name==>王六 Score==>55
0 0
- Java opencsv--使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中
- 使用Spring的PostConstruct机制
- OpenCSV处理csv的java工具
- Java opencsv 生成、读取、下载、删除CSV文件
- Java+Selenium3方法篇44-利用opencsv读取csv文件
- 使用OPENcsv处理csv文件
- Java项目中读取配置文件的值
- opencsv在解析csv时中文乱码问题的解决(opencsv-3.8.jar)
- opencsv方式读取csv文件,详解,示例
- DLL到自己的项目配置文件中读取信息
- Java读取csv文件并将内容插入到数据库
- Java读取csv文件并将内容插入到数据库
- 项目中,对于Csv表的读取
- 使用JDBC的CachedRowSet实现将数据源中的数据读取到内存中进行离线操作
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- C# 网络相关类汇总
- 好压打开压缩包文件名乱码问题一步教你解决
- Android--Service之提高
- 四十五 atoi,atol,strtod,strtol,strtoul详解
- dbcp配置浅谈
- Java opencsv--使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中
- azkaban搭建
- 给下拉框赋值,一直赋值不上
- centos server telnet: command not found
- 【python系列】python中的可变参数
- identifier of an instance ...... altered from ** to **
- nyoj 333-法雷数列(一)
- C++内存管理
- Java--截取路径字符串