读取文件并相应一个文件
来源:互联网 发布:charindex函数 sql 编辑:程序博客网 时间:2024/05/29 07:48
思路:
1::创建文件的备份地址
2:创建相应文件的地址
3:利用Springmvc中的
transferTo备份文件;
4:读取文件并执行业务操作
5:用input流读取要返回的文件
6IOUtils.copy(input,output)
@RequestMapping(value = "/day/settlement", method = RequestMethod.POST)public void daySettlement( HttpServletResponse response, @RequestHeader("serviceNo") String serviceNo, @RequestParam("requestFile") MultipartFile file) throws Exception { BufferedReader br=null; BufferedWriter writer = null; OutputStream out = null; InputStream in = null; try { String filename = file.getOriginalFilename(); File parent = new File(rootPath + "/day/settlement"); if (!parent.exists()) { parent.mkdirs(); } File parentSend = new File(rootPath + "/day/settlement/send"); if (!parentSend.exists()) { parentSend.mkdirs(); } File fileBak = new File(parent, filename); if (!fileBak.exists()) { fileBak.createNewFile(); file.transferTo(fileBak); }else{ return; } 业务代码可以忽略是为了把错误信息写到文件中返回 // br = new BufferedReader(new InputStreamReader(new FileInputStream(fileBak), "UTF-8")); File sendFile = new File(parentSend.getAbsolutePath(), filename); if (sendFile.exists()) sendFile.delete(); sendFile.createNewFile(); writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(sendFile), "UTF-8")); String s = null; String date = filename.substring(filename.lastIndexOf("_") + 1, filename.lastIndexOf(".")); ArrayList<DaySettlementFile> files = new ArrayList<DaySettlementFile>(); while ((s = br.readLine()) != null) { DaySettlementFile dayS = new DaySettlementFile(); dayS.setCreateDate(new Date()); dayS.setCreateBy("SYSTEM"); dayS.mapped(s, "\\|"); dayS.setSettlementDate(date); daySettleService.checkDaySettle(dayS); daySettleService.insert(dayS); writer.write(s); writer.write(dayS.getStatus() + "|"); writer.write(dayS.getMessage() + "|"); writer.newLine(); }
// writer.flush(); response.addHeader("Content-Length", String.valueOf(sendFile.length())); in = new FileInputStream(sendFile); out = response.getOutputStream(); IOUtils.copy(in, out); }finally { IOUtils.closeQuietly(br); IOUtils.closeQuietly(writer); IOUtils.closeQuietly(in); IOUtils.closeQuietly(out); }
阅读全文
0 0
- 读取文件并相应一个文件
- Java读取一个xml文件并生成相应的类
- poi读取文件,并获取相应属性 (java操作Excel文件)
- python 打开一个文件并随机读取文件某一行
- python读取大文件并逐行写入另外一个文件
- c语言读取文件夹中的各个文件名,并删除相应的文件
- 遍历文件,并执行相应操作
- 打开文件夹并选中相应的文件
- 读取文件并追加
- 读取并复制文件
- 读取配置文件并读取文件
- shell读取一个文件内容到变量并逐一赋值
- 读取一个在线xml文件并分析它
- 读取一个.java文件,并打印在控制台上。
- 读取一个.java文件并打印在控制台上
- 读取文件随机返回一个并打印到控制台
- 序列化写入一个文件---反序列读取并保存
- java读取输入流并保存成一个文件
- 使用Eclipse插件把项目托管到GitLab
- 在看不见的战场上,连月硝烟的年底,支付宝再次败下阵来
- lintcode--跳跃游戏--跳跃游戏Ⅱ
- 莫烦tensorflow教程笔记(三)
- 在Android 7.0隐藏导航栏和状态栏的一些方法
- 读取文件并相应一个文件
- 多线程例子:wait与notify、sleep
- Could not load [oracle/sql/converter_xcharset/lx20354.glb]解决方法
- 微信公众号关键词自动回复二条信息
- 将浮点数用分数表示
- 用来查看插件自带函数的神技
- Paxos的工程实践之Hypertable。
- u-boot主要数据结构-- bd
- checkbox全选/全不选只有第一次点击的时候有效,后面点击全部无效了