我已經看過Java查找文件的其他線程,但我仍然發現自己感到困惑。Java文本文件I/O位置
我有一個程序,在Eclipse(Juno)中創建爲Java項目。我沒有做任何修改,現在只有一個主要的課程。
當程序運行時,它需要三個輸入:一個數字和兩個字符串。第一個字符串是它必須從中讀取輸入的文件的名稱,第二個字符串是要輸出到的文件。
如果我爲輸入字符串傳入「input.txt」,並且有一個名爲input.txt的文件,那麼Java應該在哪裏找到它?我曾嘗試將其放入src,bin和項目根目錄中。目前,我試圖訪問該文件,如下所示:
File input = new File(args[1]);
凡ARGS [1]在開始時傳遞給程序的第一個字符串。當我這樣做,我得到一個錯誤「java.io.FileNotFoundException:input.txt(系統找不到指定的文件)」
我應該在哪裏放置文件,以便Java可以找到它?
下面是相關代碼:
public class main {
public static int runs;
public static File input;
public static File output;
public static String line1;
public static String line2;
public static String line3;
public static String reactions;
/**
* @param args
*/
public static void main(String[] args){
if(args.length != 3)
System.out.println("Please provide 3 arguments.");
runs = Integer.parseInt(args[0]);
File input = new File(args[1]);
File output = new File(args[2]);
System.out.println(runs);
System.out.println(input);
try {
Scanner sc = new Scanner(input);
它目前在項目的根文件夾中,並且不起作用。 – elykl33t
@ elykl33t你確定你將我們的文件保存在根文件夾中嗎?它應該工作。嘗試'。/'附加到你的文件。但它沒有任何區別。 – Smit
是的,我已經雙重檢查它是否在正確的目錄中。不知道它是否重要,但實際上造成我的錯誤是'Scanner sc = new Scanner(input);' – elykl33t