0

我正在尝试为巡航控制系统开发一个 java 应用程序。但是我在没有这样的文件异常时遇到了问题。因为我对java编码有点陌生。我不确定为什么会出现这个问题。我的代码是-

 public static void main(String[] commandLineArgs) throws IOException {
    Path input_path = Paths.get(commandLineArgs[0]);
    List<InputState> input_states = StateInput.input_states_from_file(input_path);
    Timer timer = new Timer(new CruiseControlSystem());
    List<OutputState> output_states = timer.pulse_from_input(input_states);
    for (OutputState s : output_states){
        System.out.println(s.format());
    }
}

我发现的错误是 -

Exception in thread "main" java.nio.file.NoSuchFileException: commandLineArgs[0]
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
at java.nio.file.Files.newByteChannel(Unknown Source)
at java.nio.file.Files.newByteChannel(Unknown Source)
at java.nio.file.spi.FileSystemProvider.newInputStream(Unknown Source)
at java.nio.file.Files.newInputStream(Unknown Source)
at java.nio.file.Files.newBufferedReader(Unknown Source)
at java.nio.file.Files.readAllLines(Unknown Source)
at StateInput.input_states_from_file(StateInput.java:31)
at CommandLine.main(CommandLine.java:23)

我的主要方法是 -

public static void main(String[] commandLineArgs) throws IOException {
    Path input_path = Paths.get(commandLineArgs[0]);
    List<InputState> input_states = StateInput.input_states_from_file(input_path);
    Timer timer = new Timer(new CruiseControlSystem());
    List<OutputState> output_states = timer.pulse_from_input(input_states);
    for (OutputState s : output_states){
        System.out.println(s.format());
     }
 }

运行配置图

4

3 回答 3

0

Program Arguments文本框中,您当前有“ commandLineArgs[0] ”。您需要将“ commandLineArgs[0] ”更改为包含输入状态的文件的路径。类似“ /data/input-states ”的东西。

在此处输入图像描述

于 2016-10-14T23:25:47.350 回答
0

我的主要方法是:

Path input_path = Paths.get(commandLineArgs[0]);

不,不是。你"commandLineArgs[0]"作为论据传递。你commandLineArgs[0]的意思是,没有引号。

于 2016-10-15T00:31:49.530 回答
-1

在运行程序时,您没有将任何参数传递给 main 方法。

您还可以添加您的运行方式吗?

于 2016-10-14T22:16:40.607 回答