類似問題處理C:
驅動器上的文件,其中對文件路徑進行硬編碼是可接受的答案。此應用程序是移動的,並且對文件路徑進行硬編碼是不實際的。FileNotFoundException文件存在於與程序相同的文件夾中
我想通過掃描儀導入一個文本文件,其中包含一個字符串列表,每行15個字符,每行1個。線條很多。文件名是a.txt
。
我把它用
File data = new File("a.txt");
Scanner in = new Scanner(data);
重複下面 「b.txt」 的臺詞,使用不同的對象名稱。
然而,當我建立的程序,我得到(使用在Jcreator IDE)這個錯誤日誌:
--------------------Configuration: <Default>--------------------
E:\Simple Encryption\Simple_Encryption.java:17: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner in = new Scanner(data);
^
E:\Simple Encryption\Simple_Encryption.java:18: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner numsIn = new Scanner(nums);
^
2 errors
Process completed.
程序是文件夾E:/Simple Encryption/
,其中包含以下文件和文件夾:
- Simple_Encryption.java
- Simple_Encryption.class
- lock.png(未使用)
- A.TXT
- b.txt(同樣的錯誤
a.txt
進口,下面只是一條線) - /圖片(文件夾,包含的icon.png)
沒有什麼別的文件夾中。我無法硬編碼文件路徑,因爲在不同的計算機上,它具有不同的驅動器名稱,並且稍後將在不同的文件夾下分發。 (這裏(學校),這是E:
驅動器上,在國內它是J:
驅動器,並在工作中它是G:
驅動器上。)
雖然我已經從現有的錯誤得到幫助,我需要進口在該程序啓動,而不是隻是跳過它。該文件以當前的形式存在,並且程序在沒有它的情況下不能運行。
什麼是造成此錯誤?我能做些什麼來防止這種情況發生?