文件系统(02):基于SpringBoot管理Xml和CSV( 二 )
三、CSV文件管理1、CSV文件样式
文章插图
这里不需要依赖特定的Jar包 , 按照普通的文件读取即可 。
2、文件读取@Async@Overridepublic void readNotify(String path, Integer columnSize) throws Exception {File file = new File(path) ;String fileName = file.getName() ;int lineNum = 0 ;if (fileName.startsWith("data-")) {InputStreamReader isr = new InputStreamReader(new FileInputStream(file),"GBK") ;BufferedReader reader = new BufferedReader(isr);List
3、文件创建【文件系统(02):基于SpringBoot管理Xml和CSV】@Async@Overridepublic void createCsv(List dataList,String path) throws Exception {File file = new File(path) ;boolean createFile = false ;if (file.exists()){boolean deleteFile = file.delete() ;LOGGER.info("deleteFile:"+deleteFile);}createFile = file.createNewFile() ;OutputStreamWriter ost = new OutputStreamWriter(new FileOutputStream(path),"UTF-8") ;BufferedWriter out = new BufferedWriter(ost);if (createFile){for (String line:dataList){if (!StringUtils.isEmpty(line)){out.write(line);out.newLine();}}}out.close();}
4、编写测试接口这里基于Swagger2管理接口测试。
@Api("Csv接口管理")@RestControllerpublic class CsvWeb {@Resourceprivate CsvService csvService ;@ApiOperation(value="http://kandian.youth.cn/index/文件读取")@GetMapping("/csv/readNotify")public String readNotify (@RequestParam("path") String path,@RequestParam("column") Integer columnSize) throws Exception {csvService.readNotify(path,columnSize);return "success" ;}@ApiOperation(value="http://kandian.youth.cn/index/创建文件")@GetMapping("/csv/createCsv")public String createCsv (@RequestParam("path") String path) throws Exception {List dataList = new ArrayList<>() ;dataList.add("1,北京,beijing") ;dataList.add("2,上海,shanghai") ;dataList.add("3,苏州,suzhou") ;csvService.createCsv(dataList,path);return "success" ;}}
文中涉及文件类型 , 在该章节源码ware18-file-parent/case-file-type目录下 。
推荐阅读:GitHub源码和分类管理 , 持续更新
文件系统(01):基于SpringBoot管理Excel和PDF
SpringBoot2 整合 Drools规则引擎 , 实现高效的业务规则
SpringBoot2 整合MinIO中间件 , 实现文件便捷管理
SpringBoot2.0 整合 Shiro 框架 , 实现用户权限管理
SpringBoot2 整合 ClickHouse数据库 , 实现高性能数据查询分析
SpringBoot2 整合FreeMarker模板 , 完成页面静态化处理
SpringBoot2 整合JTA组件 , 多数据源事务管理
SpringBoot2 整合Ehcache组件 , 轻量级缓存管理
SpringBoot2 整合Kafka组件 , 应用案例和流程详解
SpringBoot2 集成日志 , 复杂业务下的自定义实现
- 华为鸿蒙系统|华为汽车战略布局,进入汽车行业的底气来自哪里?(车车佳)
- 华为鸿蒙系统|鸿蒙是安卓“换皮”产品?一亿多用户,难道还不足以说明问题
- 华为鸿蒙系统|都2021年底了,为何Mate40Pro还是目前公认最好用的“安卓”手机
- 自动化|微软自带“神器”,可让系统自动化!你让它做啥就做啥
- 英伟达|Linux下使用KVM虚拟机安装华为OpenEuler系统
- Windows11|Windows 11 操作系统已经完全取消了 Windows 8 时代的动态磁贴
- 联想|联想当初反对国企采购电脑预装国产系统,为何这么做?担心美国断芯?
- 华为鸿蒙系统|鸿蒙OS升级进展正式公布:不是后继无力,而是告一段落!
- 安卓|要是国产手机都不能用安卓系统了,会怎样?
- 原创|别花冤枉钱,我教你怎么样给电脑装系统,安装版与Ghost都不难!