Я столкнулся с той же проблемой, прежде чем понял, что следующий способ подходит только для загрузки файлов в ваш путь к классам.
InputStream is = Myclass.class.getClassLoader().getResourceAsStream("/config.properties");
Для выбора файлов независимо от того, находятся они в пути к классам или нет, я использую Apache FileUtils . Например, я использовал следующее, и это сработало как шарм.
String str = FileUtils.readFileToString(new File(path_to_your_file), "UTF-8");
IOUtils.toInputStream(str, "UTF-8"); // if you need InputStream object
Вы можете взглянуть на другие API, предоставляемые FileUtils , кроме readFileToString