Java - Получение файла из одного пакета

Если я хочу читать из "Words.txt", который находится в том же пакете, что и класс, как мне это сделать? Выполнение просто Scanner = new Scanner(new File("Words.txt")); возвращает ошибку.

Ответ 1

InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...

Ответ 2

Scanner = new Scanner(new File("/path/to/Words.txt")); 

Аргумент в конструкторе File(). Является ли путь к системе вашей виртуальной машиной включенной, она не зависит от пакета classe.

Если вы, ваш word.txt, ресурс, упакованный в вашу войну, вы можете увидеть здесь: Загрузить ресурс из любого места в пути к классам

Ответ 3

Предполагая, что текстовый файл находится в том же каталоге, что и файл .class, а не файл .java, который вы можете сделать

Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));

То, что у вас есть, будет искать файл в текущем рабочем каталоге. Когда вы строите свою программу, это, как правило, корневой каталог вашей программы. Когда вы запускаете его как отдельную программу, обычно это каталог, из которого была запущена программа.

Ответ 4

Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));

String s = new String();

while(scanner.hasNextLine()){


        s = s + scanner.nextLine();


 }