How to solve the java.nio.file.NoSuchFileException?

I have a file called "result.csv", from that file i want to read certain data and display them. I have that file in my eclipse project folder itself. Still i'm unable to read the file.

 public static void main(String [] args) { int i=0; String filename="result.csv"; Path pathToFile = Paths.get(filename); try (BufferedReader br = Files.newBufferedReader(pathToFile, StandardCharsets.US_ASCII)) { // read the first line from the text file String line = br.readLine(); // loop until all lines are read while (i<10) { // use string.split to load a string array with the values from // each line of // the file, using a comma as the delimiter String[] attributes = line.split(","); double x=Double.parseDouble(attributes[8]); double y=Double.parseDouble(attributes[9]); System.out.println(GeoHash.withCharacterPrecision(x, y, 10)); // read next line before looping // if end of file reached, line would be null line = br.readLine(); i++; } } catch (IOException ioe) { ioe.printStackTrace(); } } 

OUTPUT:

java.nio.file.NoSuchFileException: result.csv 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 com.uvce.cse.searchiot.geohash.TestGeoHash.main(TestGeoHash.java:19) 

Can anyone point where exactly i missed? and how can i overcome this or any alternate methods for this method?

2

6 Answers

The problem is that your default directory at application startup is not what you think it is. Try adding the following line to your code, just after you create the path:

public static void main(String [] args) { int i=0; String filename="result.csv"; Path pathToFile = Paths.get(filename); System.out.println(pathToFile.toAbsolutePath()); 

That way, you'll see exactly where it is looking for the file.

How to fix it is your decision. You can use a full path spec instead of just a filename, or put the filename in a special "Resources" directory and reference it using a relative path, or move the file to wherever your default directory is.

2

If your file("result.csv") in the src directory, you should use the "src/result.csv" instead of "result.csv".

1

The problem there is that java isn't able to find the "result.csv" file in the project folder. Thus, try to use the fully qualified path to the file, e.g. C:\your_folder\project\result.csv in the Path variable. Also I think It would be better to use bufferedreader like this: BufferedReader br = new BufferedReader(new FileReader(insert here the String in which is defined the path to the file)); Check the uses of BufferedReader here

If you're a MacOSX user please type the file path manually instead of copying it from "Get Info". You'll get something like this if you copied it from "Get Info": /Users/username<200e><2068><2068>/Desktop<2069>/source.txt

1

I had the same error caused by escaped characters on windows file path. For example, my application was looking for "C:\Users\david\my%20folder%20name\source.txt" meanwhile the real path was "C:\Users\david\my folder name\source.txt".

Not discarding all possible solutions here, this error also occurs when your running Android Studio on Windows environment and using a project directory on an external hard drive formatted with other than NFTS. ]

If this is the case, simply move your project into the main HDD (NTFS) and reload the project again , this time from the main HDD folder path.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like