2014-03-19 67 views
1

我試圖通過命令行接受3個文件名。這是我試過的代碼,但沒有工作.. ??請幫助在java中使用命令行處理文件名

public class MedicalStudentMatcher { 

enum Arguments { 
    HospitalFile, ResidentFile, OutputFile 
}; 

/** 
* @param args 
*/ 
public static void main(String[] args) { 

    //Retrieve file locations from command line arguments 
    String hospitalFile = ""; 
    String residentFile = ""; 
    String outFile = ""; 


    if (args.length > 2){ 
     hospitalFile = args[Arguments.HospitalFile.ordinal()]; 
     residentFile = args[Arguments.ResidentFile.ordinal()]; 
     outFile = args[Arguments.OutputFile.ordinal()]; 
    } else { 
     System.out 
       .println("Please include names for the preference files and output file when running the application.\n " 
         + "Usage: \n\tjava MedicalStudentMatcher hospital.csv student.csv out.txt\n"); 
     return; 
    } 
+4

你得到了什麼確切的錯誤? –

+1

您是否在命令行中傳遞名稱? – Christian

+0

好吧,它進入else循環..它不接受值 – user3438489

回答

1

做一些調試。打印你的命令行參數的長度以及每一個參數

類似:

System.out.println(args.length); 

for(String arg: args) 
{ 
    System.out.println(arg); 
} 

這樣,您將看到您傳遞什麼程序作爲參數。

+0

謝謝..試了一下,參數的長度是0 ...不知道爲什麼..這就是我卡在 – user3438489

+0

你怎麼運行你的應用程序。從命令提示符/控制檯運行它? – sheu

+0

右鍵 - >以java應用程序運行 – user3438489

相關問題