An embedded resources can not be treated like a File
, don't think of it like a file, it will only confuse you more, it is a "resource" and needs to be treated differently
Instead of
BufferedReader br = new BufferedReader(new FileReader("dictionnaire.txt"));
or
BufferedReader br = new BufferedReader(new FileReader((getClass().getResource("dictionnaire.txt")).toString));
You will need to use something like...
BufferedReader br = new BufferedReader(
new InputStreamReader(getClass().getResourceAsStream("dictionnaire.txt"));
Class#getResource
will return a URL
, many objects are happy to deal with a URL
, but it can be messy having to get a URL
's InputStream
, so Class#getResourceAsStream
makes it easier to achieve this in a single call