⽀付宝对账单CSV解析
⽀付宝对账单CSV解析
⼀、读取zip⽂件,不解压缩直接解析,⽀持⽂件名中⽂,解决内容乱码
import com.slx.outer.zip.ZipEntry;
空间心情短语import com.slx.outer.zip.ZipInputStream;
import org.junit.Test;
import java.io.*;
/**
* @Author: slx
* @Date: 2019/5/16 22:01
*/
public class AAA {
@Test
public void test() throws Exception {
analyticalCSV();
}
@SuppressWarnings("unchecked")
public static String readZipToString(File file) throws Exception {
String connet = "";
try {
//获得输⼊流,⽂件为zip格式,
//⽀付宝提供
/
/20880118962613210156_20190514.csv.zip内包含
//20880118962613210156_20190514_业务明细.csv
//20880118962613210156_20190514_业务明细(汇总).csv
ZipInputStream in = new ZipInputStream(new FileInputStream(file));
//不解压直接读取,加上gbk解决乱码问题
BufferedReader br = new BufferedReader(new InputStreamReader(in,"gbk"));
ZipEntry zipFile;
//返回的字符串---每个⽂件内容相加
BufferedWriter bw = null;
//循环读取zip中的cvs⽂件,⽆法使⽤jdk⾃带,因为⽂件名中有中⽂
while ((NextEntry())!=null) {
if (zipFile.isDirectory()){
//如果是⽬录,不处理
立夏和夏至各代表什么意思}
String file_connet = "";
//获得cvs名字
String fileName = Name();
System.out.println("-----"+fileName);
//检测⽂件是否存在
if (fileName != null && fileName.indexOf(".") != -1) {
String line;
/*
* 1.每⼀⾏⽤ || 隔开
* 2.每⼀个⽂件⽤ ; 隔开
*/
完形填空while ((line = br.readLine()) != null) {
file_connet = file_connet + "||" + line ;
}
}
connet = connet + file_connet + ";";
}
// bw.write(connet);
//关闭流
/
/ bw.close();
br.close();
in.close();
} catch (Exception e) {
System.out.println("zip⽂件读取失敗" + e);
return "false";
}
return connet;
}
public void analyticalCSV() throws Exception {
File file = new File("D:\\demo\\20880118962613210156_20190514.csv.zip");
/
*
* 通过调⽤⽀付宝接⼝返回的url下载zip⽂件
*/
boolean down_success = true;
String connetall = "";启动u盘
//true or false 下载成功,调⽤解压⽅法
if(down_success){
File save_down_url = file;
/*
* 解压下载的zip⽂件
*/
/会计假期实践报告
/ String unzipFilePath = comZipCvsFile(save_down_url);
/*
* 读取下载的zip⽂件,返回⼀个string字符串
*/
connetall = readZipToString(save_down_url);哥已不是当年的哥
}
/* 返回结果
* 1.false,下载失败
* 2.空字符串||"false"。解压或者读取转string失败
*/
System.out.println(connetall);
}
}
注意:其中ZipEntry和ZipInputStream使⽤JDK⾃带的会报错,这⾥提供shupushUtil,去我的资源下载即可使⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论