我有一個.txt文件,假設它名爲My。我需要讀取這個文件內容。我通過命令行參數傳遞文件。我應該在命令提示符下將文件傳遞給args []數組。請幫助..............從文件中讀取數據,文件名通過java中的命令行參數傳遞
回答
您可以獲得命令行參數的文件名:
java -jar myapp.jar abc.txt
或
java a.b.c.MyApplication abc.txt
將放置abc.txt
成的
public static void main(String[] args)
args[0]
然後你就可以打開該文件,並從Java代碼讀取它。
如果你想要的文件內容(而不是編寫Java代碼來讀取他們),你可以通過System.in
讓他們:
java -jar myapp.jar < abc.txt
(上述要看是什麼樣的位你正在使用的外殼和操作系統)
InputStream data = System.in;
我已經嘗試了java abc Myapplication abc.txt ultimatly它顯示錯誤消息:錯誤找不到或加載主類謝謝! !!!!!! – user2791673
你在命令行輸入的內容應該是'java YourMainClassName pathOfFile' – SparkOn
有時候很難知道從哪裏開始,但是這個問題在其部分已經被回答了很多次。但是,也許爲了幫助你,最好指出你正確的方向。
你想要的步驟是:
1)獲取表示從args數組中的文件路徑,也許類似的字符串:
String filePath = args[0];
然而,你將要同時檢查有在args設置爲防止獲得從ARGS讀取數據時(如果沒有被從命令行傳遞)異常的可能性例如一個項目:
String filePath;
if(args.length > 0){
filePath = args[0];
}else{
// do something to handle the error, probably exit the program?
}
對於任何MO再對這個細節,在這裏看到:Link to java tutorial
2) 然後,你要使用的文件構造函數的字符串做一個文件對象。 Link to javadoc
File inputFile = new File(filePath);
3) 然後,你需要逐行讀取該文件,行。因爲有很多方法可以做到這一點: Reading from a file - SO question
希望這有助於您。
這是代碼,你可能想
String path =arr[0]; //first approach
/*Scanner in = new Scanner(System.in);
System.out.println("Enter the path of the file..."); // whole block command second approac
String path = in.nextLine(); */
File file = new File(path);
//apply your logic i just did some reading and writing to a file
/*BufferedReader inputStream = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
PrintStream out = new PrintStream(new FileOutputStream("a.txt"));
while(true)
{
String line = inputStream.readLine();
if(line == null)
break;
else
out.println(line);
}
*/
如果使用第一種方法運行該程序的
java className path_of_file
在第二種方法,它會問你的文件路徑在運行時則你可以輸入文件的路徑。就像java className
感謝您的幫助! – user2791673
你可以給予upvote並接受它作爲你的答案 – SparkOn
- 1. unix命令通過傳遞行號從文件中讀取行
- 2. 通過命令行參數讀取文件名
- 3. 讀取命令行參數,從文件
- 4. 通過傳遞命令行參數從目錄列出文件
- 5. Python:從命令行參數中讀取文件名
- 6. 從命令行參數中讀取文件時發生Java FileNotFoundException
- 7. 的命令行參數,讀取文件
- 8. 通過傳遞參數重命名gradle中的文件
- 9. 通過從命令行傳遞jar文件名來構建參數化docker
- 10. 將命令行參數傳遞給perl通過文件?
- 11. 讀取標誌和文件名C中的命令行參數
- 12. 在OpenCV中傳遞文件名作爲命令行參數
- 13. Powershell從文件傳遞命名參數
- 14. 命令行參數或讀取文件
- 15. C++如何通過命令行參數讀取TXT文件
- 16. C#通過命令行傳遞文件
- 17. 從作爲命令行爭論傳遞的文件中讀取
- 18. 傳遞命令行參數/參數AutoIt的可執行文件
- 19. 如何通過批處理文件傳遞命令作爲命令行參數
- 20. 如何通過Vista 64中的文件關聯傳遞命令行參數?
- 21. 命名參數通過傳遞命名的參數CakePHP中
- 22. 使用命令行從文件讀取數據Java
- 23. 通過Python中的命令行參數編輯文本文件
- 24. 通過命令行傳遞參數php
- 25. 從命令行將參數傳遞給可執行文件
- 26. 將文件作爲命令行參數傳遞並讀取它的行
- 27. 傳遞一個參數文件夾名稱以命令行
- 28. 傳遞文件中存在的命令行參數
- 29. 通過傳遞數組來執行外部命令,文件名中有空格
- 30. Mercurial命令行客戶端,從文件中讀取命令,選項和參數?
這是否有幫助? http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html –