我正在使用Java中的Halo:CE自定義遊戲啓動器,並且我正在使用Java中的Properties類設置首選項系統,以便用戶可以設置自定義遊戲路徑。我使用JFileChooser來選擇一個文件,然後將該路徑寫入配置文件。getAbsolutePath()NullPointerException
但是,該方案提供了在該行空指針異常:(這是在事件偵聽器函數)
if(source == fovChooseButton)
{
int returnVal = chooseFile.showOpenDialog(settingsWindow);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
File selected = chooseFOV.getSelectedFile();
try
{
config.setProperty("STLPath", selected.getAbsolutePath()); //This line gives the exception
config.store(new FileOutputStream(CONFIG_FILE), null);
}
catch(Exception e)
{
handleException(e);
}
}
}
我有另一個JFileChooser中,它不會引發任何異常。下面是另一個代碼:
if(source == fileChooseButton)
{
int returnVal = chooseFile.showOpenDialog(settingsWindow);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
File selected = chooseFile.getSelectedFile();
try
{
config.setProperty("GamePath", selected.getAbsolutePath());
config.store(new FileOutputStream(CONFIG_FILE), null);
}
catch(Exception e)
{
handleException(e);
}
} // end if
}
所有handleException()的作用是顯示與堆棧跟蹤的對話窗口。
幫助?
你檢查,如果配置可以爲空文件? – sstendal
發佈完整的stacktrace和linenumbers? –
那麼哪個對象爲空 - 它是「config」還是「selected」 - 是否打印出來檢查? – DNA