Eclipse getResourceAsStream возвращает ноль - PullRequest
12 голосов
/ 04 февраля 2010

Я не могу заставить getResourceAsStream найти файл. Я поместил файл в каталог верхнего уровня, целевой каталог и т. Д., И т. Д. И пробовал его также с «/» перед. Каждый раз, когда возвращается ноль.

Есть предложения? Спасибо.

public class T {
 public static final void main(String[] args) {

  InputStream propertiesIS = T.class.getClassLoader().getResourceAsStream("test.txt");

  System.out.println("Break");
 }
}

Ответы [ 6 ]

12 голосов
/ 04 февраля 2010

Поместите ваш файл «test.txt» в тот же каталог, где находится файл Java вашего класса (тот же пакет). Тогда используйте

T.class.getResourceAsStream( "test.txt" );

Это работает, потому что eclipse автоматически копирует файл как ресурс в путь к классам. При использовании командной строки вы должны сделать это вручную.

11 голосов
/ 29 февраля 2012

Вам не нужно добавлять эти файлы в один и тот же каталог, чтобы заставить его работать.

Я получил этот симптом, когда создал новую папку Package and Source Folder для проведения тестов junit. Тесты не пройдут, потому что getResourceAsStream возвращал ноль.

Вот как это исправить:

Щелкните правой кнопкой мыши класс (в моем случае, новый тестовый класс junit) в Eclipse Project Explorer View

Путь сборки -> Настроить путь сборки -> Путь сборки Java -> Вкладка «Источник» -> Добавить папку

Выберите папку, в которой хранятся ваши файлы.

4 голосов
/ 01 декабря 2011

Иногда вам нужно явно указать eclipse, какие типы файлов копировать из исходной папки в папку распространения (классы).

У меня есть Eclipse SDK, версия: 3.7.1, идентификатор сборки: M20110909-1335, Индиго и в этом я сделал следующие изменения.

Проект -> Свойства -> Путь сборки Java -> Источник (вкладка) -> Включено (элемент списка) -> Изменить (кнопка), чтобы добавить * / .txt к существующему * /.java.

0 голосов
/ 11 марта 2017

Старый вопрос, но у меня была та же самая проблема, и ни один из ответов не помог мне (или я их не понял).

В Eclipse обновить каталог проекта, чтобы Eclipse знал, что в ресурсы добавлен новый файл.Для этого щелкните правой кнопкой мыши каталог проекта (самый верхний) в представлении проводника пакетов и нажмите «Обновить».То же самое, если вы редактируете существующий файл ресурсов извне Eclipse: обновите, чтобы Eclipse узнал об изменениях.

0 голосов
/ 27 декабря 2013

Помещение моей папки / resources / в мою папку / bin / решило эту проблему.

0 голосов
/ 24 апреля 2011

Также убедитесь, что ваш файл не соответствует ни одному шаблону Предпочтения> Java> Компилятор> Сборка> OutputFolder> Отфильтрованные ресурсы: .

Например, если вы установите *. Txt в этом поле, вы не получите test.txt к выводу сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...