Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java知道文件是否已损坏(可读)?_Java_File_Jakarta Ee - Fatal编程技术网

如何使用java知道文件是否已损坏(可读)?

如何使用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文件 要检查

我有一个web应用程序,人们可以通过FTP上传任何pdf。上传pdf文件后,我对该pdf文件执行某些操作

但这里的问题是,通过FTP上传PDF时,有时连接中断,上传的PDF不完整(表现得像损坏的PDF)。当我试图在arobat reader中打开该文档时,它会给出一条消息“打开文档时出错”。文件已损坏,无法修复'

现在,在开始处理PDF之前,我想检查上传的PDF是否可读意味着没有损坏

java是否为此提供了API,或者是否有任何方法可以检查文件是否损坏。

我们在java中可以处理PDF文件

要检查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]好吧,没有什么东西可以检查图像是否损坏。即使部分图像已存储。可以在任何图像查看器中打开,并显示存储的图像部分。此答案可能对您有用。