Se já estiver no caminho de classe, basta obtê-lo do caminho de classe em vez do sistema de arquivos do disco. Não mexa com caminhos relativos em java.io.File. Eles dependem do diretório de trabalho atual sobre o qual você não tem nenhum controle de dentro do código Java.
Supondo que ListStopWords.txtesteja no mesmo pacote de sua FileLoaderclasse, faça:
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
Ou se tudo o que você está procurando é na verdade um InputStreamdeles:
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
Isso certamente é preferido em vez de criar um new File()porque urlpode não representar necessariamente um caminho do sistema de arquivos do disco, mas também pode representar o caminho do sistema de arquivos virtual (o que pode acontecer quando o JAR é expandido na memória em vez de em uma pasta temporária no sistema de arquivos do disco) ou mesmo um caminho de rede que não é digerido por definição pelo Fileconstrutor.
Se o arquivo for - como o nome do pacote sugere - é na verdade um arquivo de propriedades completo (contendo key=valuelinhas) com apenas a extensão "errada", então você pode alimentar InputStreamimediatamente o load()método.
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
Nota: quando você está tentando acessá-lo de dentro do staticcontexto, use FileLoader.class(ou qualquer outra coisa YourClass.class) em vez dos getClass()exemplos acima.
properties.filespara2?