zoukankan      html  css  js  c++  java
  • properties文件导出

      功能要求根据数据库记录的key-value-remark 数据,导出保存properties文件

      1. pro.load()  pro.list() 处理不能解决备注、排序问题

      2. 最后考虑下什么是properties文件,操作系统大概怎么区分这样的数据是正确的properties数据,区分大概回车符与#符,直接拼接字符,输入输出流导出

          

    @RequestMapping(value = "/export/{id}", method = RequestMethod.GET)
        public void export(@PathVariable("id") Long id) throws IOException {
            response.reset();
            StringBuilder buff = new StringBuilder();
        
            AppProperties tc = appPropertiesService.get(id);
            String fileName = tc.getLineCode()+tc.getAppCode()+tc.getId();
            if(tc != null){
                Collection<SearchFilter> filters = new ArrayList<>();
                filters.add(new SearchFilter("refId",SearchFilter.Operator.valueOf("EQ"),id));
                List<PropertiesInfo> detailList = propertiesInfoService.findAll(new SearchSpecification(filters,PropertiesInfo.class) , new Sort(Sort.Direction.ASC,new String[]{"orderBy"}));
                for(PropertiesInfo info:detailList){
                    if(info.getRemark() != null && !"".equals(info.getRemark())){
                        buff.append("#").append(info.getRemark()).append("
    ");
                    }
                    buff.append(info.getKey()).append("=").append(info.getValue()).append("
    ");
                    
                }
            } 
    
            response.setHeader("Content-Disposition", "attachment;filename="+fileName+".properties");
            response.setContentType("application/msexcel; charset=GBK");
            ServletOutputStream out = response.getOutputStream();
            
            BufferedInputStream br = new BufferedInputStream(new ByteArrayInputStream(buff.toString().getBytes()));  
            byte[] buf = new byte[1024];
            int len = 0;   
    
            while ((len = br.read(buf)) > 0){
                out.write(buf, 0, len);  
            }  
            out.flush();
            br.close(); 
            out.close();
    
        }

      

      

  • 相关阅读:
    JavaBean的详细及引用
    动态页面,登陆,注册,留言 JSP
    简单登陆,注册的动态网页
    11.24作业3
    11.24作业2
    转: JAVA递归算法实例小结
    转: javascript实现全国城市三级联动菜单代码
    转: 我们为什么使用ORM?
    转:Ajax中的get和post两种请求方式的异同
    转: JSTL SQL标签库 使用
  • 原文地址:https://www.cnblogs.com/ks-apper/p/5157817.html
Copyright © 2011-2022 走看看