2017-10-05 41 views

回答

0

您應該始終圍繞着這種錯誤傾向的代碼放在一個try/catch塊

Scanner regionData = null; 

try { 
    regionData = newScanner(new File("RU.txt")); 
} catch (FileNotFoundException e) { 
    // handle what happens if exception is thrown 
} 

指定需要在你的根目錄下的項目文件。

+0

將掃描器放在try塊之外,這樣可以讓你訪問超出try的範圍;與@ TeneCursum的答案相反,即在'try'中聲明掃描器的地方,它只能在try塊內部使用。需要考慮的另一件事是,您必須記住在完成掃描時關閉掃描器,以防止使用'regionData.close();'來發生內存泄漏。您也可以嘗試使用資源塊,將掃描器聲明並初始化爲try塊的參數,try塊會自動關閉它,但您遇到同樣的範圍問題。 – ClarksonDev

1

這裏發生的事情是,你的IDE(通過它的外觀的IntelliJ)警告您的代碼拋出一個FileNotFoundException異常。你應該嘗試包裝的代碼在try/catch塊,像這樣:

try { 
    Scanner regionData = new Scanner(new File("RU.txt")); 
} catch (FileNotFoundException e) { 
    // Handle the error here. e.g., 
    e.printStackTrace(); 
} 

此外,如其他人所說,Windows使用反斜槓(「\」)作爲文件分隔符。 UNIX系統使用'/'。