胡說(shuō)叔叔
2021-12-01 19:50:20
我正在嘗試編寫(xiě)一個(gè) Java 程序來(lái)計(jì)算 PDF 文件的頁(yè)數(shù)。但是當(dāng)我運(yùn)行這個(gè)程序時(shí),我得到一個(gè)錯(cuò)誤,我不知道為什么。這是錯(cuò)誤:Exception in thread "main" java.lang.NullPointerException at pdfpagecount.Pdfpagecount.main(Pdfpagecount.java:12)這是產(chǎn)生錯(cuò)誤的代碼: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貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
gopi.listFiles();返回 null 因?yàn)間opi是文件,而不是目錄或文件夾。所以你得到了NullPointerException。檢查您的File對(duì)象是文件還是目錄:
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

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
NPE 意味著您嘗試取消引用的某些對(duì)象為空 - 很可能是
listOfFile[] = gopi.listFiles();
(順便說(shuō)一下,這不是最好的方法。因?yàn)槟呀?jīng)有了文件名)
我建議開(kāi)始閱讀有關(guān)如何在 Java 中讀取文件的教程。
添加回答
舉報(bào)
0/150
提交
取消