【java项目】(springboot)读取resources目录下csv文件方式

场景:

项目启动过程中需要加载项目目录下的csv文件到缓存中,实现预热加载;

---

# 步骤

  1. 准备需要用到的文件
  2. 存储位置:springboot项目resource目录下
    【java项目】(springboot)读取resources目录下csv文件方式_第1张图片

文件读取

#文件路径
private static final String NATION_CODE_PATH = "file/民族码表.csv";

##读取文件

public void run(){
            InputStream is = null;
            InputStreamReader isr = null;
            BufferedReader br = null;
            try {
                Resource resource = new ClassPathResource(NATION_CODE_PATH);
                is = resource.getInputStream();
                isr = new InputStreamReader(is);
                br = new BufferedReader(isr);
                String data;
                while ((data = br.readLine()) != null) {
                    try {
                        System.out.println(data);
                        String[] values = data.split(",");
                        CacheUtil.nationCacheMap.put(values[0], values[1]);
                    } catch (Exception e) {
                        continue;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
               br.close();
               isr.close();
               is.close();            
    }
}

 3. 在项目启动后执行run,加载文件方法


## 以下两种方式 在应用启动后执行
public class ApplicationRunnerAfterLoad implements ApplicationRunner {

}
public class CommandLineRunnerAfterLoad implements CommandLineRunner {

}

# 或者在自定义的@Component中去实现配置也可以

4. 读取到的数据
【java项目】(springboot)读取resources目录下csv文件方式_第2张图片

 

你可能感兴趣的:(java,java,文件读取)