Jeśli chcę przeczytać "Words.txt", który jest w tym samym pakiecie co klasa, w jaki sposób mogę to zrobić? Po prostu Scanner = new Scanner(new File("Words.txt"));
zwraca błąd.Java - Pobieranie pliku z tego samego pakietu
Odpowiedz
Zakładając, że plik tekstowy jest w tym samym katalogu co .class
zamiast pliku .java
można zrobić
Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));
Co trzeba będzie szukać pliku w bieżącym katalogu roboczym. Kiedy budujesz swój program, jest to zazwyczaj katalog główny twojego programu. Kiedy uruchamiasz go jako samodzielny program, zwykle jest to katalog, z którego program został uruchomiony.
Nie wiem, czy każda odpowiedź jest po prostu oparta na innym, czy też nazwa metody właśnie się zmieniła, ale jest to 'getClass(). GetResourceAsStream (" Words.txt ")' – Winter
@Winter oparty na mojej łuszczącej się pamięci. Dziękuję Ci. –
InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...
działa, jeśli importujesz plik JAR, który używa tego kodu – kommradHomer
Scanner = new Scanner(new File("/path/to/Words.txt"));
Argument w pliku() konstruktora, jest względna ścieżka do systemu swoją VM jest uruchomiona, to s nie zależy od pakietu Classe użytkownika.
Jeśli Twój words.txt jest zasobem pakowane z wojną można zobaczyć tutaj: Load resource from anywhere in classpath
Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));
String s = new String();
while(scanner.hasNextLine()){
s = s + scanner.nextLine();
}
Miałeś na myśli 'getClass(). GetResourceAsStream (" Words.txt ")' – Winter
- 1. Wiele wątków czytających z tego samego pliku
- 2. Jak korzystać z wielu wersji tego samego pakietu R?
- 3. Powrót do tego samego pliku po przeczytaniu z pliku
- 4. Odczytywanie i zapisywanie do tego samego pliku przy użyciu tego samego pliku fstream
- 5. Dostęp Muti do tego samego pliku tekstowego
- 6. Emacs: wiele widoków tego samego pliku
- 7. Jak dołączyć moduł z innego pliku z tego samego projektu?
- 8. Dwie wersje tego samego pakietu NPM w aplikacji Node
- 9. Pobieranie pliku z żądania http w java
- 10. python - dołączanie do tego samego pliku z wielu wątków
- 11. Jak utworzyć identyczny plik gzip z tego samego pliku?
- 12. Używanie tego samego pliku dla stdin i stdout z przekierowaniem
- 13. Czytaj w pliku - zmień zawartość - zapisz do tego samego pliku
- 14. Biblioteka używa tego samego pakietu co ten projekt po zaimportowaniu pakietu Facebook SDK
- 15. Nie można uzyskać dostępu do chronionego elementu nadklasy z tego samego pakietu w innym słoju.
- 16. Zależność przejściowa powodująca konflikt Wersję tego samego pliku DLL
- 17. Podstawianie tekstu (czytanie z pliku i zapisywanie do tego samego pliku) na Linuxzie z sed
- 18. Python: oddzielne procesy logowania do tego samego pliku?
- 19. Do Java 8 równoległych strumieni używać tego samego wątku sekwencji
- 20. Różne trasy tego samego komponentu
- 21. Python dla początkujących: czytanie i pisanie do tego samego pliku
- 22. rozróżnić wyjątki tego samego typu
- 23. Python wielu wątków uzyskujących dostęp do tego samego pliku
- 24. Parsowanie i ładne drukowanie tego samego formatu pliku w Haskell
- 25. Użyj tego samego pliku statycznego do wielu aplikacji w Django
- 26. wykonania tego samego pakietu SSIS z różnymi parametrami w różnym czasie
- 27. Pobieranie pliku "mobileconfig" z aplikacji
- 28. Pobieranie danych z pliku XML
- 29. Pobieranie nazwy pliku z pliku pobierania http
- 30. Określanie lokalizacji bieżącego pliku w R w celu uwzględnienia pliku z tego samego katalogu?
Spróbuj umieścić plik .txt w katalogu głównym projektu. Pliki tekstowe mogą znajdować się w tym samym folderze co pliki w konkretnym pakiecie, ale tak naprawdę nie są częścią pakietu. Zamiast tego musisz załadować go z systemu plików (lub alternatywnie ze słoika lub wojny). – Marvo
To zadziałało; dzięki! –