Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2:

problem is that Paths.get() doesnt expect that kind of value which is generated from uri.getPath().


URI uri = ClassLoader.getSystemResource("com/stackoverflow/json").toURI();
String mainPath = Paths.get(uri).toString();
Path path = Paths.get(mainPath ,"Movie.class");

I had the same issue and got the exception, noticed there was a space in the filename, so I had to trim it. After that, the issue is resolved.

Path filePath = Paths.get(dirPathStr, newFileName.trim());

Try this:

Path path = new File(getClass()
.getResource("/<path to the image in your build/classes folder>")

to get the correct path. Worked for me after several hours trying to find out why I couldn't get the file from the jar. This works for NetBeans 8.02