Если он уже находится в пути к классам, просто получите его из пути к классам, а не из файловой системы диска. Не возитесь с относительными путями java.io.File. Они зависят от текущего рабочего каталога, которым вы не можете управлять изнутри кода Java.
Предполагая, что он ListStopWords.txtнаходится в том же пакете, что и ваш FileLoaderкласс, выполните:
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
Или, если все, что вам нужно, на самом деле является одним InputStreamиз них:
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
Это, безусловно, предпочтительнее, чем создание, new File()потому что он urlможет не обязательно представлять путь к файловой системе диска, но он также может представлять путь к виртуальной файловой системе (что может произойти, когда JAR расширяется в память, а не во временную папку в файловой системе диска) или даже сетевой путь, которые по определению не могут быть усвоены Fileконструктором.
Если файл - как подсказывает имя пакета - на самом деле является файлом полноценных свойств (содержащим key=valueстроки) только с «неправильным» расширением, то вы можете InputStreamнемедленно передать его load()методу.
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
Примечание: когда вы пытаетесь получить к нему доступ из внутреннего staticконтекста, используйте FileLoader.class(или что-то еще YourClass.class) вместо getClass()приведенных выше примеров.
properties.filesдля2?