Как мне сослаться на ресурс в Java?

Мне нужно прочитать файл в моем коде. Физически он находится здесь:

C:\eclipseWorkspace\ProjectA\src\com\company\somePackage\MyFile.txt

Я поместил его в исходный пакет, чтобы при создании исполняемого файла jar (Экспорт-> Выполняемый файл JAR) он включался в банку. Первоначально он был в корне проекта (а также пробовал обычную подпапку), но экспорт не включал его в банку.

Если в моем коде я делаю:

File myFile = new File("com\\company\\somePackage\\MyFile.txt");

файл jar правильно находит файл, но при локальном запуске (Запуск от имени -> Основное приложение Java) выдается исключение «Файл не найден», поскольку он ожидает, что это будет:

File myFile = new File("src\\com\\company\\somePackage\\MyFile.txt");

Но это не работает в моем файле jar. Итак, мой вопрос: как заставить эту концепцию работать как локально, так и в моем файле jar?


person Chris Knight    schedule 16.09.2010    source источник


Ответы (2)



Если я поместил файл в файл jar, он работал только тогда и только тогда, когда я использовал

...getResourceAsStream("com/company/somePackage/MyFile.txt")

Если бы я использовал объект File, он никогда не работал. Я также получил исключение FileNotFound. Теперь я остаюсь с объектом InputStream.

person Christian    schedule 16.09.2010