Несколько заметок:
Во-первых, как говорит Чокос, поместите его в исходные каталоги затмений, а не в двоичные. 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");
он будет искать файл fee.txt прямо на пути к классам.
При запуске из командной строки, где в JAR находится файл ресурсов?
- Скотт