2015-10-26 78 views
0

我很抱歉,但我不會說英語非常好.. :)使用Windows cmd中的參數啓動java應用程序?

當我想推出從Windows Java項目在cmd我做的:

javac main.java(主=我的文件名)

那麼:java main

但是如果我使用參數,我該怎麼辦?

我試過了:java main parameters但它不好。

你有什麼想法嗎?

非常感謝您的幫助:)

Image

這裏有代碼:

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 

import elements.*; 

public class Main 
{ 
    public static void main(String[] parameters) 
    { 
     try 
     { 
      String nameFile = parameters[0]; 
      FileInputStream fileInputStream = new FileInputStream(new File(nameFile)); 
      Processing processing = new Processing(); 
      processing.read(fileInputStream); 
      try 
      { 
       fileInputStream.close(); 
      } 
      catch (IOException exception) 
      { 
       System.out.println("Une erreur s'est produite lors de la fermeture de l'InputStream"); 
      } 
     } 
     catch(FileNotFoundException exeption) 
     { 
      System.out.println("Le nom de fichier placé en paramètre est incorrect"); 
     } 
    } 
} 

的問題是該行14:String nameFile = parameters[0];

+0

您應該能夠通過引用args []數組來讀取命令行參數。你能分享你試圖運行的代碼和確切的命令嗎? – AbtPst

+0

我編輯了我的帖子:) –

回答

0

所以看起來像你能夠讀取參數,但你得到一個FileNotFoundException。您正在閱讀文件的方式中,exercice4.txt應該出現在您的src文件夾中,否則您當前的代碼將無法讀取它。或者通過文件的完整路徑或更新代碼

+0

非常感謝!現在一切都很好:) 我把我的文件放在src文件夾中:) –

+0

很高興我可以幫助:)請接受答案,當你有機會 – AbtPst

0

那麼,代碼似乎是正確的,但肯定它不會工作,因爲該文件不在您運行java blah blah命令的目錄中。嘗試運行

java Main ..\exercice4.txt 

順便說一句,這類問題通常很容易用幾個打印語句來調試,如:

String nameFile = parameters[0]; 
System.out.println("Trying to open file "+nameFile); 
FileInputStream fileInputStream = new FileInputStream(new File(nameFile)); 

此外,當有一個例外是用來顯示異常有用堆棧跟蹤,例如:

catch(FileNotFoundException exeption) 
{ 
    System.out.println("Le nom de fichier placé en paramètre est incorrect"); 
    exeption.printStackTrace(); 
} 
相關問題