引言
做过页面导出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的流操作是我们必备的知识,多积累多成长。