我在Eclipse中使用Java進行文件操作,如編輯,搜索等。例如,我有兩個文本文件。一個是「sales.txt」,另一個是「employees.txt」。用戶應該輸入開始日期和結束日期作爲參數。然後該程序找到匹配的日期以及所有的日期。它從那裏計算出發現銷售日期的員工的佣金。從終端運行Java:找不到文本文件
問題出在這裏: 我使用的是Kali Linux(Debian),我必須創建一個shell腳本來編譯和運行帶有命令行參數的java程序。
例如:shell腳本被稱爲「Runner」。 所以我輸入:./Runner [開始日期] [結束日期]
一旦這樣做,它編譯罰款沒有警告。但是當程序執行時,終端顯示如下:cannot find employees or sales .txt 但是,當我在Eclipse中使用Run Configurations並編輯[開始日期] [結束日期]的參數面板時,程序運行良好。
Here is what the Projects panel looks like in eclipse:
編輯 - 下面是測試外殼腳本:
#! /bin/bash
javac /$HOME/workspace/Java\ Projects/Database_2/src/src/*.java
cd /$HOME/workspace/Java\ Projects/Database_2/src
java src.Runner $1 $2
編輯2 - 終端輸出> ./testRunner 2015年1月1日2015年1月7日
java.io.FileNotFoundException: employees.txt (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at src.CommissionModifier.parseEmployees(CommissionModifier.java:101)
at src.CommissionModifier.process(CommissionModifier.java:15)
at src.Runner.handleArguments(Runner.java:10)
at src.Runner.main(Runner.java:6)
java.io.FileNotFoundException: sales.txt (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at src.CommissionModifier.parseSales(CommissionModifier.java:135)
at src.CommissionModifier.process(CommissionModifier.java:16)
at src.Runner.handleArguments(Runner.java:10)
at src.Runner.main(Runner.java:6)
考慮添加stacktrace的文本,而不是提供屏幕截圖。 – jheimbouch
我們不知道你的腳本文件裏有什麼文件或文件與你運行它的地方進行比較...... –
你是否在通過eclipse執行時從同一目錄運行java文件? –