Jeśli jest już w ścieżce klasy, a potem po prostu uzyskać go od ścieżki klasy. Nie rób skrzynek ze względnymi ścieżkami w java.io.File
. Są zależne od bieżącego katalogu roboczego, nad którym całkowicie nie ma kontroli wewnątrz kodu Java.
Zakładając, że ListStopWords.txt
jest w tym samym opakowaniu jako FileLoader
Klasa:
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
Lub jeśli wszystko jesteś po to InputStream
z nim:
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
Jeśli plik jest -as podpowiedzi do nazw pakietów - to w rzeczywistości pełna wersja properties file (zawierająca linie key=value
) z tylko "niewłaściwym" rozszerzeniem, wtedy możesz podać je edi do metody load()
.
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
Uwaga: kiedy próbujesz uzyskać do niego dostęp od wewnątrz static
kontekście, a następnie użyć FileLoader.class
zamiast getClass()
w powyższych przykładach.
Twoje oba przykłady pakietów są takie same. Czy nie masz na myśli 'properties.files' dla' 2'? – BalusC