1

コマンドラインからテキストファイルからJavaプログラムにデータを取得する方法を知りたいです。ウィンドウズを使用しています。

使った

Java myprogram < c:\inputfile.txt

動作しませんが、使用したとき

Java myprogram good

できます。「良い」は、入力として使用した単語です

参考:私が使ったとき

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]);
            }

} 

}
}
4

3 に答える 3

2

ファイルから入力データを読み取る必要がある場合は、Java クラスでテキスト ファイルを読み取るためのコードを記述して読み取る必要があります。

あなたのコードはコマンドラインから入力を取得しているようで、それcommand line argumentをデータとして扱っています。

テキスト ファイルから入力を読み取る方法については、この例を参照してください。

于 2013-04-06T05:16:46.587 に答える
0

以下の cmd は、UNIX フレーバー OS でのみ機能します。

      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 を参照してください

于 2013-04-06T05:35:24.440 に答える
0

次のように値を二重引用符で囲んで渡します。

Java myprogram good > "c:\\inputfile.txt"
于 2013-04-06T05:07:43.453 に答える