为了账号安全,请及时绑定邮箱和手机立即绑定

NPE 关于阅读 PDF 页数的程序

NPE 关于阅读 PDF 页数的程序

胡说叔叔 2021-12-01 19:50:20
我正在尝试编写一个 Java 程序来计算 PDF 文件的页数。但是当我运行这个程序时,我得到一个错误,我不知道为什么。这是错误:Exception in thread "main" java.lang.NullPointerException at pdfpagecount.Pdfpagecount.main(Pdfpagecount.java:12)这是产生错误的代码:package pdfpagecount;import java.io.File;import java.io.FileInputStream;import com.lowagie.text.pdf.PdfReader;public class Pdfpagecount {public static void main(String[] args) {    File gopi = new File("C:\\Users\\Gopinath Muruti\\Desktop\\test.pdf");    File listOfFile[] = gopi.listFiles();    for(int i = 0; i < listOfFile.length; i++) {        File tempFile = listOfFile[i];        String fileName = tempFile.getName();        System.out.println("File Name = " + fileName);        try {            if(fileName.toLowerCase().indexOf(".pdf") != -1) {                PdfReader document = new PdfReader(new FileInputStream(new File("filename")));                int noPages = document.getNumberOfPages();                System.out.println("Number of Pages in the PDF document is = " + noPages);            }        }        catch(Exception e) {            System.out.println("Exception : " + e.getMessage());            e.printStackTrace();        }    }}}
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

gopi.listFiles();返回 null 因为gopi是文件,而不是目录或文件夹。所以你得到了NullPointerException。检查您的File对象是文件还是目录:


File file = new File(path);


boolean isDirectory = file.isDirectory(); // Check if it's a directory

boolean isFile =      file.isFile();      // Check if it's a regular file


查看完整回答
反对 回复 2021-12-01
?
RISEBY

TA贡献1856条经验 获得超5个赞

NPE 意味着您尝试取消引用的某些对象为空 - 很可能是

listOfFile[] = gopi.listFiles();

(顺便说一下,这不是最好的方法。因为您已经有了文件名)

我建议开始阅读有关如何在 Java 中读取文件的教程。


查看完整回答
反对 回复 2021-12-01
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信