как Вы заставляете getResourceAsStream работать при отладке Java в Eclipse?

Это может указать вам правильное направление: [объект объекта] .

Можете ли вы попробовать использовать (.log js / console ...) для этого ответа?

7
задан Jason S 17 April 2009 в 15:01
поделиться

5 ответов

Если вы поместите свой текстовый файл вместе с исходными файлами, Eclipse скопирует его туда, куда он помещает свой скомпилированный .class файлы, и поэтому вы увидите ваш текстовый файл при запуске приложения из Eclipse (и вы также сможете редактировать файл из Eclipse).

10
ответ дан 6 December 2019 в 06:04
поделиться

Несколько примечаний:

Во-первых, как говорит Чокос, поместите его в dir, а не в источник затмения. бинарные каталоги Eclipse очистит двоичные каталоги, когда вы «очистите», а также очистите несопоставленные файлы. Он скопирует исходные файлы, отличные от Java, в двоичный каталог.

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

Имейте в виду, что getResourceAsStream и getResource работают относительно пакета кода, который их вызывает. Например:

package a.b.c;
public class Foo {
   ...
   getClass().getClassLoader().getResourceAsStream("fee.txt");
   ...
}

Это на самом деле будет искать a / b / c / fee.txt; Пакет предварительно написан. Это хорошо работает, если у вас есть файл fee.txt в том же исходном каталоге, что и файл Foo.java, или если у вас есть отдельный набор каталогов ресурсов в пути к классам с той же структурой каталогов.

Если вы используете

...getResourceAsStream("/fee.txt");

это будет искать за плату. - Скотт

16
ответ дан 6 December 2019 в 06:04
поделиться

Обнаружена проблема!

У меня были мои файлы изображений в исходном дереве. (в моей сборке Ant я копирую их в каталог сборки)

Проблема заключалась в том, что я не делал недавнего обновления исходного дерева в Eclipse. Итак, файлы были там, но Eclipse не обращал на них никакого внимания.

Спасибо, что подсказали мне тот факт, что Eclipse должен иметь их в моем дереве исходных текстов.

2
ответ дан 6 December 2019 в 06:04
поделиться

Что именно вы подразумеваете под «работать должным образом»? В чем ошибка / поведение?

Я предлагаю использовать getResource , чтобы найти URL одного из ваших файлов .class (или примерно эквивалентно getClass (). GetProtectionDomain () .getCodeSource () . Вы можете обнаружить, что он указывает куда-то неожиданно.

0
ответ дан 6 December 2019 в 06:04
поделиться

У меня есть подозрение, что это связано с CLASSPATH и / или где Eclipse помещает файлы .class, которые он автоматически компилирует.

В «Конфигурации запуска» для запуска приложения перейдите на вкладку «Classpath» и добавьте корневую папку пути, который вы используете для доступа к файлу.

Например, если вы пытаетесь загрузить » blah / file.txt ", и файл находится в" folder / blah / file.txt ", добавьте" folder "в classpath. Если вы пытаетесь загрузить ресурс просто «file.txt», то добавьте «folder / blah».

1
ответ дан 6 December 2019 в 06:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: