Sprawiam, że działa bez żadnego odniesienia do „class” lub „ClassLoader”.
Załóżmy, że mamy trzy scenariusze z lokalizacją pliku „example.file”, a katalog roboczy (w którym wykonuje się aplikacja) to home / mydocuments / program / projects / myapp:
a) Podfolder potomny katalogu roboczego: myapp / res / files / example.file
b) Podfolder niebędący potomkiem katalogu roboczego: projects / files / example.file
b2) Kolejny podfolder, który nie należy do katalogu roboczego: program / files / example.file
c) Folder główny: home / mydocuments / files / example.file (Linux; w Windows zamień home / na C :)
1) Wybierz właściwą ścieżkę: a) String path = "res/files/example.file";
b) String path = "../projects/files/example.file"
b2) String path = "../../program/files/example.file"
c)String path = "/home/mydocuments/files/example.file"
Zasadniczo, jeśli jest to folder główny, rozpocznij nazwę ścieżki od wiodącego ukośnika. Jeśli jest to podfolder, ukośnik nie może znajdować się przed nazwą ścieżki. Jeśli podfolder nie jest katalogiem podrzędnym do katalogu roboczego, musisz wykonać do niego cd za pomocą „../”. Informuje to system o przejściu o jeden folder w górę.
2) Utwórz obiekt File, podając właściwą ścieżkę:
File file = new File(path);
3) Teraz możesz już iść:
BufferedReader br = new BufferedReader(new FileReader(file));