[英]Cannot find and read file in Java
我對 Java 完全陌生,我正在使用別人的代碼來讀取二進制文件,但該文件無法打開。 我在 Windows 10 下的 Eclipse 中運行代碼,該文件名為 bookDeepDist.dat 我已將其放在項目文件夾中。 我也試過(沒有成功)的完整路徑名是 C:\\Users\\Alan\\eclipse-workspace\\readDatabase\\bookDeepDist.dat
失敗的代碼是:
public void openBook() throws IOException {
file = getClass().getResourceAsStream(BOOKPATH[bookNr]);
if (file == null)
throw (new IOException("Could not open File "+BOOKPATH[bookNr]));
}
錯誤信息是:無法打開文件 bookDeepDist.dat
所以它似乎試圖打開正確的文件。 任何人都可以給我任何想法可能會出錯嗎?
問題是, getResourceAsStream() 在運行的 Java 程序的類路徑中查找。 這就是為什么當您將文件放在項目文件夾中時它可以工作的原因。 您想要的是程序類路徑之外的文件流。
代替
file = getClass().getResourceAsStream(BOOKPATH[bookNr]);
嘗試使用
file = new FileInputStream(BOOKPATH[bookNr]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.