Java 创建工作簿时JXL中的NullPointerException

Java 创建工作簿时JXL中的NullPointerException,java,jxl,Java,Jxl,该程序在另一台电脑上运行良好。我在我的家用电脑上导入了它,但在那里它不工作 错误行: wwbCopy = Workbook.createWorkbook(new File("bstncopy.xls"), wbook); 堆栈跟踪: java.lang.NullPointerException 位于jxl.read.biff.ExternalSheetRecord.getNumRecords(ExternalSheetRecord.java:135) 在jxl.write.biff.Exter

该程序在另一台电脑上运行良好。我在我的家用电脑上导入了它,但在那里它不工作

错误行:

wwbCopy = Workbook.createWorkbook(new File("bstncopy.xls"), wbook);
堆栈跟踪:

java.lang.NullPointerException
位于jxl.read.biff.ExternalSheetRecord.getNumRecords(ExternalSheetRecord.java:135)
在jxl.write.biff.ExternalSheetRecord.(ExternalSheetRecord.java:107)
在jxl.write.biff.WritableWorkbookImpl。(WritableWorkbookImpl.java:219)
在jxl.Workbook.createWorkbook(Workbook.java:325)
在jxl.Workbook.createWorkbook(Workbook.java:306)
在ReadDataBst.(ReadDataBst.java:28)
at Graph.(Graph.java:23)
在Dijkstra(Dijkstra.java:4)
在GUIWindowBuilder上。(GUIWindowBuilder.java:28)
Main.Main(Main.java:6)

基于堆栈跟踪,代码似乎试图取消对空指针的引用,因此出现了NullPointerException。正如您所建议的错误行:

wwbCopy = Workbook.createWorkbook(new File("bstncopy.xls"), wbook); 
您是否检查了
Workbook.createWorkbook(新文件(“bstncopy.xls”)
在此点之前是否返回非空对象或
wbook
是否为非空对象

我认为问题与这两个实体为空有关。因此,在创建工作簿之前,请检查与错误行关联的两个项是否都不是null对象

你可以这样做

File file = new File("bstncopy.xls");
if(file != null && wbook != null){
    wwbCopy = Workbook.createWorkbook(file, wbook); 
}

也许
wbook
null
?或者
bstncopy.xls
不存在?我不知道如何检查这一点,因为wbook和wwbcopy不会在调试模式下的变量中显示,我不明白。。顺便说一句,我是初学者。根据你的代码,工作簿不是空的。为什么工作簿在调试模式下不显示为变量?您在谈论哪个工作簿<代码>wbook对象?小心,
wbook
看起来像是给定行中的变量,但
Workbook
是一个类。因此,
工作簿
将不会在调试模式下显示。顺便说一下,如果你有不同的问题,可以在stackoverflow中问多个问题。你也可以通过谷歌获得一些调试帮助;但无论如何,我现在能做些什么来解决这个错误呢。我们发现wbook不是空的,那么还有什么可以是空的呢?@SymboseStudios你有没有检查
文件
是否为空?提供了代码段后,您是否仍会收到空指针异常?