List集合写到本地,生成文件

List集合中的数据写到本地

主要方法 及 生成文件方法

 1     private boolean PostFlie(String brand, List<Kpi> listKpis) {
 2
 3         String year = String.valueOf(getCurrentYear());
 4         String monthString = String.format("%02d", getCurrentMonth() - 1);
 5
 6         String fileName = brand.toUpperCase() + "KMF_";
 7         String endFileName = brand.toUpperCase() + "KMF_";
 8         java.text.DateFormat dateformat = new java.text.SimpleDateFormat("yyyyMMdd_hhmmss");
 9         String dateStr = dateformat.format(new Date());
10
11         fileName = fileName + dateStr + ".dat";
12         endFileName = endFileName + dateStr + ".end";
13         ConfigLoader configLoader = ConfigLoader.getInstance();
14         String filePath =  configLoader.getProperty(ConfigLoader.TAP_FILE_TO_LOCAL);
15         StringBuffer buffer = new StringBuffer();
16         for (Kpi kpi : listKpis) {
17             buffer.append(kpi.getDealerCBU() + "|" + kpi.getDealerCKD() + "|"
18                     + kpi.getServiceTypeEnum().getDisplayEnName() + "|"
19                     + kpi.getTitleNameEN() + "|" + year + monthString + "|"
20                     + kpi.getPerformance().getValueForReport()[0] + "|" + brand);
21             buffer.append("\r\n");
22         }
23         try {
24             if (createDir(filePath)) {
25                 String dataFile = filePath + fileName;
26                 FileOutputStream out = new FileOutputStream(dataFile);
27                 log.info("postfile to local: __" + fileName + "__at:" + (new Date()).toString());
28
29                 byte[] contentInBytes = buffer.toString().getBytes("utf-8");
30                 out.write(contentInBytes);
31                 out.flush();
32                 out.close();
33                 out = null;
34                 buffer = null;
35
36                 String endFile = filePath + endFileName;
37                 out = new FileOutputStream(endFile);
38                 log.info("postfile to local: __" + endFileName + "__at:" + (new Date()).toString());
39                 out.close();
40                 out = null;
41             } else {
42                 return false;
43             }
44         } catch (Exception e) {
45             log.error("Exception when post file to local:", e);
46             return false;
47         }
48         return true;
49     }
 1     private boolean createDir(String filePath) throws IOException {
 2         try {
 3             File file = new File(new String(filePath.getBytes("UTF-8"), "iso-8859-1"));
 4             if(!file.exists()){
 5                 file.mkdir();
 6             }
 7         } catch (Exception e) {
 8             log.error("Exception when savepath to local", e);
 9             return false;
10         }
11         return true;
12     }
时间: 2024-10-18 20:28:11

List集合写到本地,生成文件的相关文章

XML文件的写,集合XML序列化(写)。XML文件的读,递归遍历

XML文件:必须要有一个节点.检验xml文件,可以用浏览器打开,能打开表示对,否则错. 处理方法: DOM:XmlDocument文档对象模型 Sax(事件驱动,XmlReader) XmlSerializer(序列化):可以序列化一个类,一个泛型集合. Linq to XML:主要用到类:Xelement XDocument XAttribute    using System.Xml.Linq; 写一个XML文件: 学校,班级,学生(性别,年龄,年龄) 1 namespace W_R_XML

java_生成并打开本地html文件

//生成文件: /** * 读取本地文件,并写入StringBuffer ,以csv文件为例 *builders = new StringBuilders("<html><head><script>......<body>");调用方法前写入页面的开始标签,方法结束后append页面的结束标签 */ private static void csvToCache(File csv,StringBuilder builders,StringB

《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的

0. 前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的. 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成<Java虚拟机原理图解> 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助.

《Java虚拟机原理图解》6、 class文件中的方法表集合--method方法在class文件中是怎样组织的

0. 前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的. 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成<Java虚拟机原理图解> 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助.

Windows 修改本地hosts文件

在在使用win下面的一些php集成开发工具的时候(比如 phpstudy wampserver等) 有时候会有这样的需求:我不想通过localhost/xxx/xxx/xxx.php 这样的方式访问我的 文件怎么办呢?这样写太麻烦了! 怎么解决这样的问题呢? 很简单,以phpstudy 为例(wampserver类似) 我们先在www目录下新建一个测试文件(方便起见就写个phpinfo吧): 正常我们想访问这个文件是这样的: 写的还是挺多的. 想要通过域名访问怎么做呢?比如:通过 test.in

vue-cli项目 build后请求本地static文件中的 json数据,路径不对,报错404处理方法

vue-cli 项目 build  出错点: 1,build生成dist 放在tomcat上 报错,不显示内容  解决办法: config>index.js===>assetsPublicPath: '/',  修改为 assetsPublicPath: './', note:如果css中图片不显示,打开“build/utils.js”,增加一行代码即可 2,用 axios 请求本地 static 文件中的JSON 文件报错, static文件不经过编译,需要配置根目录 解决办法:配置 'st

“允许源文件与模块生成文件不同” 解决方法 ,亲测最有效的

今天写代码的时候有一处访问数据库的操作,sql语句报了错,因为少加了一个[,] 调试的时候中断在这个地方,然后发现了问题,就顺手加了上去,再运行的时候发现运行的版本还是那个少了[,]的版本 然后就有了此文 网上查找解决方案大致有三种,我尝试了两种,最后使用了自己的办法解决 网上的解决方案链接在此[http://blog.csdn.net/woaizhoulichao1/article/details/6313173] 最后删除了源文件中bin目录下的文件,整个项目就出了问题,就想到是不是生成不正

UWP 读取本地XML文件

读取本地XML文件时要将xxx.xml文件的“生成操作”改为“嵌入的资源”会比较好,在手机上运行的话需要改为“内容” <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://WebXml.com.cn/"> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata

MFC 修改默认生成文件和默认生成工程内容

修改默认生成文件和默认生成工程的内容是非常非常实用的!因为这样我们就不用每次新建一个工程都去做以前做过的一些工作,譬如用到OpenCV就要去包含它的头文件等等,当然在.h文件中默认直接加上作者.公司的描述也会显得更方便,方法如下: 首先是修改.h和.cpp文件的默认生成内容(即添加新建项时文件将会自带你添加的内容,而不是空白一片),这个问题关键在于找到其模板文件路径,本人的路径是"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcp