引言
做过页面导出excel,那么页面导出txt文件能不能借鉴一番哪?答案是肯定的。
概述
页面导出txt文件与导出excel类似,都属于流操作的一种,废话不多说看下面实例
内容
实现思路:将取到的数据拼接成字符串,写到新建的txt文件中。
- public File writeToTxt(String fileName,List<FpSpbm> listFpSpBm) {
- //(1)拼接txt头内容
- StringBuffer head = new StringBuffer();
- head = head.append("{商品编码}[分隔符]\"~~\"")
- .append("\r\n")
- .append("// 每行格式 :")
- .append("\r\n")
- .append("// 编码~~名称~~简码~~商品税目~~税率~~规格型号~~计量单位~~单价~~含税价标志~~隐藏标志~~中外合作油气田~~税收分类编码~~是否享受优惠政策~~税收分类编码名称~~优惠政策类型~~零税率标识~~编码版本号")
- .append("\r\n");
- //(2)拼接txt文件字符串内容
- StringBuffer content = new StringBuffer();
- for(int i =0;i<listFpSpBm.size();i++) {
- content = content.append(listFpSpBm.get(i).getBm())
- .append("~~")
- .append(listFpSpBm.get(i).getMc())
- .append("~~")
- .append(listFpSpBm.get(i).getJm())
- .append("~~")
- .append(listFpSpBm.get(i).getSpsm())
- //.append("")
- .append("~~")
- .append(listFpSpBm.get(i).getSl())
- .append("~~")
- .append(listFpSpBm.get(i).getGgxh())
- .append("~~")
- .append(listFpSpBm.get(i).getJldw())
- .append("~~")
- .append(new BigDecimal(listFpSpBm.get(i).getDj().toString()))
- .append("~~")
- .append(listFpSpBm.get(i).getHsjbz())
- .append("~~")
- .append(listFpSpBm.get(i).getQybz())
- .append("~~")
- .append("")
- .append("~~")
- .append(listFpSpBm.get(i).getSsflbm())
- .append("~~")
- .append(listFpSpBm.get(i).getSyyh())
- .append("~~")
- .append(listFpSpBm.get(i).getSsflmc())
- .append("~~")
- .append(listFpSpBm.get(i).getYhzclx())
- .append("~~")
- .append("")
- .append("~~")
- .append("")
- .append("\r\n");
- }
- //(3)拼接txt全部文本
- StringBuffer txtContent = new StringBuffer();
- txtContent = txtContent.append(head)
- .append(content);
- //(4)写入txt文件中
- File file = new File(filepath + fileName);
- try {
- PrintStream ps = new PrintStream(new FileOutputStream(file));
- ps.println(txtContent);// 往文件里写入字符串
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- return file;
- }
总结
页面导出txt较导出excel更简单,少了表头等的设置。java的流操作是我们必备的知识,多积累多成长。