2013-04-06 82 views
1

我想知道如何從命令行將數據從文本文件中獲取到Java程序。我正在使用Windows。來自文本文件的Java輸入參數

我用

Java myprogram < c:\inputfile.txt 

這是行不通的,但是當我用

Java myprogram good 

它的工作原理。 「好」這個詞,我用它作爲輸入

FYI:當我用

Java myprogram good > c:\outfile.txt 

這是寫輸出到一個文本文件..

我需要從文本閱讀文件 「inputfile.txt」 寫爲 「outputfile.txt」

我用這個

Java myprogram "c:\\inputfile.txt" > "c:\\outputfile.txt" 

但不工作

此代碼,我用它

import edu.smu.tspell.wordnet.*; 

public class myprogram{ 
public static void main (String [] args) { 

System.setProperty("wordnet.database.dir", "C:\\Program Files (x86)\\WordNet\\2.1\\dict\\"); 
WordNetDatabase database = WordNetDatabase.getFileInstance(); 
     String result = ""; 
     NounSynset nounSynset; 
     NounSynset[] hyponyms; 
     Synset[] synsets = database.getSynsets(args[0]); 

     for (int i = 0; i < synsets.length; i++) { //iteratre over all senses 
      String[] wordForms = synsets[i].getWordForms(); 
      for (int j = 0; j < wordForms.length; j++) { 
       System.out.println(wordForms[j]); 
      } 

} 

} 
} 

回答

2

如果需要從文件中讀取輸入數據,那麼你需要編寫代碼閱讀您的Java類中的文本文件以進行閱讀。

看起來你的代碼剛剛從命令行獲得輸入,並且你正在將command line argument當作數據。

See this example on how to read inputs from a text file.

+0

感謝anubhava,請你能幫助我如何在上面的java代碼中使用它 – 2013-04-06 05:31:22

+0

@DheyaMajid:請參閱我提供的鏈接。 – anubhava 2013-04-06 05:31:50

+0

謝謝,購買我想逐字讀取它,並把單詞寫入參數[0] – 2013-04-06 05:35:17

0

傳遞這樣在雙引號中的值:

Java myprogram good > "c:\\inputfile.txt" 
+0

謝謝,但我需要閱讀fron輸入文件不寫 – 2013-04-06 05:13:47

+0

我用Java myprog在CMD中的RAM「c:\\ inputfile.txt」>「c:\\ outputfile.txt」,但不起作用 – 2013-04-06 05:14:50

+0

您可以粘貼您正在使用的代碼嗎? – 2013-04-06 05:18:46

0

下面CMD將僅適用於UNIX版本的操作系統。

 java classfile > "/path/logfilename.log" 

下面的程序將讀取該文件,並寫入到不同的文件 由字符閱讀(你可以做的改進,按您的使用情況)

public class ReadWriteFile { 

     public static void main(String args[]) throws Exception { 

     if (args.length == 0) { 
      System.out.println("Enter the file name"); 
     } else { 

      String fileName = args[0]; 

      BufferedReader input = new BufferedReader(new FileReader(fileName)); 

      String line = null; 

      BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt")); 

      try { 
       while ((line = input.readLine()) != null){ 
        System.out.println(line); 
        //or 
        writer.write(line); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } finally { 
       if(input != null) input.close();     
       if (writer != null) writer.close(); 
      } 
     } 
    } 

}

對於字符指的低於 how-do-i-read-input-character-by-character-in-java