我有一个程序,从文件中读取,并将内容存储在链表中,然后将链表的内容写入另一个文件,
我有三个类:1-代理(主职业)2 -状态3- LinkedList
类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]);
}
}
我需要的所有方法都在class State中所以我创建了一个State对象然后我做了所有的工作但问题是,当我从命令提示符执行它时,当我这样写:
C: 教授桌面编译用户> javac Agent.java
Agent.java:27: error: unreporting exception 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
这与命令行无关,也与您要做的事情无关。你的代码中有一个错误:你没有捕捉异常。
最重要的是,您应该将main()
内容包装在try-catch
块中。https://docs.oracle.com/javase/tutorial/essential/exceptions/try.html