如何使用java知道文件是否已损坏(可读)?
我有一个web应用程序,人们可以通过FTP上传任何pdf。上传pdf文件后,我对该pdf文件执行某些操作 但这里的问题是,通过FTP上传PDF时,有时连接中断,上传的PDF不完整(表现得像损坏的PDF)。当我试图在arobat reader中打开该文档时,它会给出一条消息“打开文档时出错”。文件已损坏,无法修复' 现在,在开始处理PDF之前,我想检查上传的PDF是否可读意味着没有损坏 java是否为此提供了API,或者是否有任何方法可以检查文件是否损坏。我们在java中可以处理PDF文件 要检查PDF文件是否可以加载和读取,请使用如何使用java知道文件是否已损坏(可读)?,java,file,jakarta-ee,Java,File,Jakarta Ee,我有一个web应用程序,人们可以通过FTP上传任何pdf。上传pdf文件后,我对该pdf文件执行某些操作 但这里的问题是,通过FTP上传PDF时,有时连接中断,上传的PDF不完整(表现得像损坏的PDF)。当我试图在arobat reader中打开该文档时,它会给出一条消息“打开文档时出错”。文件已损坏,无法修复' 现在,在开始处理PDF之前,我想检查上传的PDF是否可读意味着没有损坏 java是否为此提供了API,或者是否有任何方法可以检查文件是否损坏。我们在java中可以处理PDF文件 要检查
com.itextpdf.text.PDF.PdfReader
如果文件已损坏,将引发异常,如
com.itextpdf.text.exceptions.InvalidPdfException
示例代码片段:
...
import com.itextpdf.text.pdf.PdfReader;
...
try {
PdfReader pdfReader = new PdfReader( pathToUploadedPdfFile );
String textFromPdfFilePageOne = PdfTextExtractor.getTextFromPage( pdfReader, 1 );
System.out.println( textFromPdfFilePageOne );
}
catch ( Exception e ) {
// handle exception
}
如果文件已上载但已损坏,您可能会遇到以下错误:
com.itextpdf.text.exceptions.InvalidPdfException: Rebuild failed:
trailer not found.; Original message: PDF startxref not found.
注意:为了产生这样的异常,请尝试从网络中保存PDF文件,但在中间放弃它。 使用它来加载上述代码段,并检查它是否安全加载
您可以在以下位置找到有关iText API的详细示例:使用
MD5SUM
进行本地哈希,上传后进行远程哈希并比较。如何知道位图/图像文件是否损坏?能否详细说明您的问题?您希望它如何与itext
一起使用?我只需要知道有没有办法确定存储的图像是否损坏?[android,java]好吧,没有什么东西可以检查图像是否损坏。即使部分图像已存储。可以在任何图像查看器中打开,并显示存储的图像部分。此答案可能对您有用。