2010-10-05 33 views
0

我目前有一個程序的實現,我使用Scanner類讀入輸入。整數整數。 我通過通過命令行輸入文件來完成此操作。Java:使用Scanner類從文件中讀取輸入而不用流水線

java程序< input.txt中

我需要避免使用命令行參數來打開我的程序文件管道輸入。

java程序--file = input.txt中

或類似的東西。 據我所知,我可以解析命令行參數,提取文本「input.txt」,然後使用像「BufferedReader」或類似的類來讀取文件。

我只是好奇,如果有遠離使用輸入文件(無管道),仍然使用掃描儀類。 這意味着我不必改變我的nextInt()和其他類似的調用。

回答

1

由於參數只是沒有被消除,但傳遞到您的main(String[] args)方法沒有任何工作在中間您唯一的選擇是解析參數,提取文件名input.txt並打開它作爲一個普通的文件流。

我不會看它如何推斷文件必須被打開並作爲管但沒有被管道..你可以很容易地使用ScannerFile參數,而不會打擾任何東西..

public Scanner(File source) throws FileNotFoundException 

構造一個新的掃描儀,該掃描儀生成從指定文件掃描的值。使用底層平臺的默認字符集將文件中的字節轉換爲字符。

+0

謝謝!我根據你的建議(稍作修改),我已經完成了,因爲我需要。 File file = new File(「in.txt」); try { Scanner input = new Scanner(file); (FileNotFoundException e){ } catch(FileNotFoundException e){ e.printStackTrace(); } – 2010-10-05 21:05:01

相關問題