所以我正在嘗試使用GUI Java,並且此代碼工作正常,只要我嘗試在我的終端中運行我的代碼,但是我需要創建一個可以加載文本文件的jar文件從任何目錄(遺憾的是,這個代碼只適用於我的主目錄中的文件 ,如果我嘗試訪問來自不同文件夾的文件,它將返回一個文件異常)真的很感激迴應。我不知道這是否重要,但我正在實現一個可序列化的接口。getAbsolutePath()不工作在Jar文件
public boolean loadCanvas(String filename){
boolean done = true;
try{
File file = new File(filename);
FileInputStream fp = new FileInputStream(file.getAbsolutePath());
ObjectInputStream i = new ObjectInputStream(fp);
obj = (A) i.readObject();
i.close();
}
catch(Exception eRef){
done = false;
}
return done;
}
您無法從JAR以這種方式加載文件;你必須使用類加載器來獲取ResourceAsStream。 – duffymo
你'System.err.println(file.getAbsolutePath())'並檢查路徑嗎?然後,至少將'eRef.printStackTrace()'添加到您的異常處理程序中 - 目前您正在忽略所有異常。 –
@duffymo他說他想從任何**目錄**加載文本文件... –