使用命令提示符执行java程序

时间:2016-11-13 18:24:38

标签: java command-line main

我有一个从文件中读取的程序,并将内容存储在链表中,然后将链表的内容写入另一个文件,

我有三节课: 1-代理(主要类) 2-国家 3- LinkedList

calss Agent的内容是:

public class Agent{

    public static void main(String[] args) {

        int n_args = args.length;
        if (n_args!=4) {
            System.out.println("ERROR: ILLEGAL NUMBER OF ARGUMENTS.");
            System.out.println("Number of arguments must be 4");
            return;
        }
        String mapFile = args[0];
        String commandsFile = args[1];
        String finalMapFile = args[2];
        String logFile = args[3];

        State s = new State();
        s.read(args[0]);
        s.read2(args[1]);
        s.Action();
        s.writemap(args[2]);
        s.write(args[3]);


    }



}
  • 我需要它们的所有方法都在类State中 所以我创造了一个国家的对象 然后我做了所有的工作 但问题是当我写这个时从命令提示符执行它:

    C:\ Users \ prof \ Desktop \ Compilation> javac Agent.java

    我收到此消息:

Agent.java:27:错误:未报告的异常IOException;必须被抓住或宣布被抛出

                    s.read(args[0]);
                          ^
    Agent.java:28: error: unreported exception IOException; must be caught or declared to be thrown
                    s.read2(args[1]);
                           ^
    Agent.java:30: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown
                s.writemap(args[2]);
                          ^
    Agent.java:31: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown
                s.write(args[3]);
                       ^
    4 errors

我希望我的程序工作如下:

  java Agent mapFile.txt commandsLine.txt finalMap.txt logFile.txt

任何帮助?

1 个答案:

答案 0 :(得分:0)

这与命令行无关,也与您尝试做的无关。 您的代码中存在错误:您没有捕获异常。

至少,您应将main()内容封装在try-catch块中。 https://docs.oracle.com/javase/tutorial/essential/exceptions/try.html