2015-02-12 55 views
0

我有一個很小的代碼片段,將要求用戶輸入讀取文本文件掃描儀輸入諸如如何使用命令行中的Java

5 
12 
59 
58 
28 
58 

第一個數字將顯示的大小我需要創建數組,其餘的數字將存儲在該數組中。所以對於給定的輸入,將創建一個大小爲5的數組,並且後面的數字將被存儲在數組中。

我的代碼

public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     int size = sc.nextInt(); 
     int[] array = new int[size]; 

     for(int i =0; i<size; i++) 
     { 
      array[i] = sc.nextInt(); 
     }      
} 

我想知道有沒有的只是喂一個文本文件,而不是手動鍵入數字的方式。我的意思是知道有一些方法可以讀取文本文件,但是有一種方法可以通過命令行來提供。我知道在c有一些簡單的命令,你可以在那裏鍵入類似的東西,它的工作原理 - >./code.out > input.txt

回答

1

假設您使用的是bash或POSIX命令行界面,它確實非常簡單。

1)創建一個名爲「input.txt」的文件,您將在其中保留輸入(在本例中爲數字)。

2)將您的輸入保存到文件中(即通過將數字複製並粘貼到文件中)。

3)假設你編譯的javac你的java文件,像這樣運行程序:

java yourprogram < input.txt 

4)也許,如果你想保存輸出到一個文件:

java yourprogram <input.txt> output.txt 

要查看更多有關bash重定向,請閱讀對應於此鏈接的網頁:https://www.gnu.org/software/bash/manual/html_node/Redirections.html

+0

究竟是我在找什麼!讓我的生活變得輕鬆。 – user1010101 2015-02-12 03:57:56

+1

@ user2733436:沒問題。作爲主要的C/C++和Python程序員,我真的很感謝命令行的價值。學習Bash腳本,如何製作Makefile,I/O重定向和管道等,真正讓您的生活更輕鬆的就是程序員。 – 2015-02-13 00:40:58

+0

是的,這節省了我大量的時間,我可以輕鬆地將大量輸入文件提供給我的算法,並檢查所需的輸出。 – user1010101 2015-02-13 02:17:26

1

你可以只使用Scanner

Scanner scn = new Scanner(new File("myFile.txt")); 

使用命令行,您將使用您的psv main中給出的參數。

public static void main(String args[]) { 

    Scanner scn = new Scanner(new File(args[0])); 
} 

然後,您可以從命令行運行您的.jar文件,併爲其傳遞路徑。要在啓動加

Java的罐子myJar.jar 「/home/matt/myFile.txt」

在Eclipse中,你可以進入你的啓動配置edtor和manualy指定參數,從Eclipse內部。