如何解决;“线程中的异常”;动画线程“;java.lang.NullPointerException“;?
我目前正在进行从处理到Netbeans的代码移植。然而,我遇到了一些困难,因为当我在Netbeans java中运行它时,处理中运行的完全相同的代码给了我一个空指针异常。 我面临的错误有:如何解决;“线程中的异常”;动画线程“;java.lang.NullPointerException“;?,java,multithreading,netbeans,nullpointerexception,processing,Java,Multithreading,Netbeans,Nullpointerexception,Processing,我目前正在进行从处理到Netbeans的代码移植。然而,我遇到了一些困难,因为当我在Netbeans java中运行它时,处理中运行的完全相同的代码给了我一个空指针异常。 我面临的错误有: Exception in thread "Animation Thread" java.lang.NullPointerException at gardeningmania.GardeningMania.loadPng(GardeningMania.java:303) at gardeningmania
Exception in thread "Animation Thread" java.lang.NullPointerException
at gardeningmania.GardeningMania.loadPng(GardeningMania.java:303)
at gardeningmania.GardeningMania.setupThreading(GardeningMania.java:315)
at gardeningmania.GardeningMania.setup(GardeningMania.java:182)
at processing.core.PApplet.handleDraw(PApplet.java:2281)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)
at processing.core.PApplet.run(PApplet.java:2177)
at java.lang.Thread.run(Thread.java:722)
以下是导致上述状态错误的部分代码:
@Override
public void setup() {
setupThreading("/Menus/", menuLoader, menuThread);
setupThreading("/Navigations/", navLoader, navThread);
setupThreading("/Navigations2/", nav2Loader, nav2Thread);
}
void loadPng(File[] files, ImageLoader loader) {
for (int i = 0; i < files.length; i++) {
String path = files[i].getAbsolutePath();
if (path.toLowerCase().endsWith(".png")) {
loader.loadImg(path);
}
}
}
void setupThreading(String folderName, ImageLoader loader, Thread threading) {
File dir = new File(sketchPath + folderName);
File[] files = dir.listFiles();
threading = new Thread(loader);
loadPng(files, loader);
threading.start();
}
@覆盖
公共作废设置(){
setupThreading(“/Menus/”,menuLoader,menuThread);
setupThreading(“/Navigations/”,navLoader,navThread);
设置线程(“/Navigations2/”,nav2Loader,NAV2Read);
}
void loadPng(文件[]文件,图像加载器){
对于(int i=0;i
知道如何解决这些错误吗?检查您是否指向正确的目录,而不是相对路径。我觉得下面的代码给出了一个空对象
文件:
File[] files = dir.listFiles();
menuLoader、navLoader或nav2Loader均为空
或者@GV可能正确地猜测到新环境中的文件路径不正确,因此导致File.ListFiles()
返回null
请以适当的方式使用格式,使第303行中的任何内容都不为null。menuLoader
或nav2Loader
或nav2Loader
为null可能为空,但不为空。问题是您在猜测,因为无法权威地回答OP的问题。您可能是正确的,但同样合理的是,他的加载程序变量为null
@user2310289File.listFiles()
将返回null
,如果路径为wrong@BrianRoach:这正是我所猜测的。用户表示它在另一个环境下工作。由于使用了相对路径,当他/她切换到NetBeanssory时,系统无法找到文件夹,应该清理我的眼镜如果此抽象路径名不表示目录,则此方法返回null。
你们两个需要组合答案。。。那么你已经覆盖了基地。