0

I am attempting to take input from a file called gift1.in, however I keep getting a file not found error. Any ideas? enter image description here

Dude156
  • 158
  • 1
  • 12
  • where is this `gift1.in` file located? is it on the project root? `FileNotFoundException` can be caused by several cases. Please take a look on [previous QA](https://stackoverflow.com/a/19309163/4648586). – Bagus Tesa Jan 14 '19 at 00:52
  • Yep, located in USACO folder (project root) – Dude156 Jan 14 '19 at 00:53
  • check on your project folder, is there folder named `target` (or any folder that contains the compiled `jar` file), copy the `gift1.in` into that folder and try to run again. i think it just path issue. – Bagus Tesa Jan 14 '19 at 00:55
  • Ah, the only folders in the project root appear to be bin and src. I put the gift1.in in this directory. Darn, I can't figure this out :( – Dude156 Jan 14 '19 at 00:57
  • 1
    Try calling `f.getAbsolutePath()` right after you instantiate it so that you have a better idea of where it thinks it is. Then check your Run Configuration for what its working directory is. – nitind Jan 14 '19 at 01:20
  • 1
    There is nothing wrong with where your file is. (At least not necessarily) Eclipse requires you to handle the `fileNotFoundException`, and will not compile unless you have a `throws` deceleration or surround it in a try catch. It has nothing to do with the file itself, just the fact that you are doing io operations and eclipse requires you to handle some of the errors – GBlodgett Jan 14 '19 at 03:22
  • @GBlodgett Ah, Java is cheeky that way... Thanks! – Dude156 Jan 14 '19 at 19:10

2 Answers2

0

The error in the screenshot is a unhandled exception compiler error.

FileNotFoundException is a checked exception since it derives from IOException.

A checked exception will always generate a compiler error when compiled if not caught or thrown.

Either add throws FileNotFoundException in main or put the code throwing it in a try/catch block.

public static void main(String args[]) throws FileNotFoundException

or

Scanner input = null;
try {
  input = new Scanner(f);
}
catch {
  System.Out.Print("File not found");
  return 1;
}

The file also needs to be in a resource folder for the build script to copy to the target folder to run.

I am not sure about Eclipse, but the standard I have seen is for the resource folder to be located in src/main/resources.

Richard
  • 154
  • 1
  • 7
  • Yes, but why would the file not be found? I put it in the project root. Excuse me if I'm misunderstanding. – Dude156 Jan 14 '19 at 01:01
0

I dont have eclipse right now but the problem might be the path. Try this

File f = new File(System.getProperty("user.dir") + "gift1.in");

or

File f = new File("[/absolute/path/to/file]");