ktina51
ktina51

Reputation: 25

Java Showing Error NoSuchFileException

I am trying to develop a java application for cruise control system. But I am having a problem in no such file exception. As I am little bit new in java coding. I am not sure why this problem is occurring. My Code is-

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

And the Error I found is -

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)

My Main Method is -

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

image of run configuration

Upvotes: 0

Views: 3263

Answers (3)

user207421
user207421

Reputation: 311039

My main method is:

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

No it isn't. You are passing "commandLineArgs[0]" as the argument. You mean commandLineArgs[0], without the quotation marks.

Upvotes: 0

StvnBrkdll
StvnBrkdll

Reputation: 4044

In the Program Arguments textbox you currently have "commandLineArgs[0]". You need to change "commandLineArgs[0]" to the path to your file containing the input states. Something like "/data/input-states".

enter image description here

Upvotes: 0

kushagra mittal
kushagra mittal

Reputation: 343

You are not passing any arguments to main method while running the program.

Can you also add how are you running this.

Upvotes: -1

Related Questions