解析错误怎么解决

更新时间:2023-03-02 20:05:28 阅读: 评论:0

南京鸭血粉丝汤-澳洲旅游

解析错误怎么解决
2023年3月2日发(作者:雪雨卫浴)

读取⽂件解析⽂件发⽣的错误,已解决

错误背景

从⽂件服务器上⾯读取zip压缩⽂件下来,然后解压,放指定⽬录下。获取所有解压后⽂件的路径地址保存在list集合⾥⾯。最后要求是把所

有获取到zip⾥⾯的pdf⽂件合成为⼀个总pdf⽂件,放⼊压缩包,上传到⽂件服务器上⾯就完成了。

发⽣错误点:所有pdf合成⼀个总pdf⽂件,在压缩为zip⽂件上传上去后,打开发下合成的pdf损坏了。

错误代码:

publicstaticStringstart(Listsavepath){

Stopwatchstopwatch=Started();

//获取回单⽂件在linux上的临时存放地址

finalStringlinuxFilePath=ue(_PATH_TEMP);

ListfileList=newArrayList<>();

StringdownloadUrl=null;

for(inti=0;i<();i++){

(linuxFilePath+(i));

}

("fileList集合:{}",());

Documentdocument=null;

StringpdfUrl=linuxFilePath+tTimeMillis()+".pdf";

StringpdfZip=linuxFilePath+tTimeMillis()+".zip";

try{

document=newDocument();

PdfCopycopy=newPdfCopy(document,newFileOutputStream(pdfUrl));

();

for(Strings:fileList){

PdfReaderreader=newPdfReader(s);

intn=berOfPages();

for(intj=1;j<=n;j++){

e();

PdfImportedPagepage=ortedPage(reader,j);

e(page);

}

}

//放⼊压缩⽂件中

ZipFilezipFile=newZipFile(pdfZip);

e(newFile(pdfUrl));

StringfileRelativePath=File(pdfZip);

downloadUrl=nUrl(fileRelativePath);

("相对路径:{},下载地址:{}",fileRelativePath,downloadUrl);

}catch(Exceptione){

tackTrace();

}

for(Strings:fileList){

Quietly(newFile(s));

Quietly(newFile(pdfUrl));

Quietly(newFile(pdfZip));

}

();

();

("耗时:{}",d(S));

returndownloadUrl;

}

解释下:获取⽂件路径然后把这些pdf⽂件合成⼀个,然后放⼊压缩包中,在上传到⽂件服务器上⾯去

问题原因:在pdf⽂件合成⼀个总pdf⽂件时,⽂件流还未关闭,就进⾏压缩操作,这是获取到的⽂件就是损坏的。

解决⽅法:

();

();

代码块放⼊合成总pdf⽂件之后,然后在做其他操作,⽂件就不是损坏的了。

正确代码⽰例:

publicstaticStringstart(Listsavepath){

Stopwatchstopwatch=Started();

//获取回单⽂件在linux上的临时存放地址

finalStringlinuxFilePath=ue(_PATH_TEMP);

ListfileList=newArrayList<>();

StringdownloadUrl=null;

for(inti=0;i<();i++){

(linuxFilePath+(i));

}

("fileList集合:{}",());

Documentdocument=null;

StringpdfUrl=linuxFilePath+tTimeMillis()+".pdf";

StringpdfZip=linuxFilePath+tTimeMillis()+".zip";

try{

document=newDocument();

PdfCopycopy=newPdfCopy(document,newFileOutputStream(pdfUrl));

();

for(Strings:fileList){

PdfReaderreader=newPdfReader(s);

intn=berOfPages();

for(intj=1;j<=n;j++){

e();

PdfImportedPagepage=ortedPage(reader,j);

e(page);

}

}

();

();

//放⼊压缩⽂件中

ZipFilezipFile=newZipFile(pdfZip);

e(newFile(pdfUrl));

StringfileRelativePath=File(pdfZip);

downloadUrl=nUrl(fileRelativePath);

("相对路径:{},下载地址:{}",fileRelativePath,downloadUrl);

}catch(Exceptione){

tackTrace();

}

for(Strings:fileList){

Quietly(newFile(s));

Quietly(newFile(pdfUrl));

Quietly(newFile(pdfZip));

}

("耗时:{}",d(S));

returndownloadUrl;

}

刚刚开始以为是压缩⽂件的时候,压缩的问题,后来换了⼏种⽅式,还是报⽂件损坏,最后午休起来灵光⼀现,发下这⽂件流放最后⾯关

闭,是否是因为这个问题,最后终于可了,哎,纠结了⼀个上午。

本文发布于:2023-03-02 20:05:27,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677758728114859.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:解析错误怎么解决.doc

本文 PDF 下载地址:解析错误怎么解决.pdf

下一篇:返回列表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|