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

像这样在双引号中传递值:

Java myprogram good > "c:\\inputfile.txt"
于 2013-04-06T05:07:43.453 回答
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

于 2013-04-06T05:35:24.440 回答