2013-08-05 2 views
1

Есть ли способ добавить ресурсы в класс или пакет в java? Например, если я использую JFileChooser, чтобы дать пользователю возможность выбрать любой файл изображения. Предположим, пользователь уже выбрал файл со своего рабочего стола (или любого другого каталога). Я знаю, что могу получить его местоположение, вызвав метод getSelectedFile().toString(), и он вернет мне каталог файла в формате String.Java Swing: добавить ресурсы во время выполнения

Итак, теперь моя желаемая операция заключается в том, что я хочу добавить этот файл в ресурсы класса. Я хочу добавить, потому что я хочу получить это изображение/файл позже, вызвав метод this.class.getResource().

Прошу вас, спасибо.

+0

Почему вы извлекаете файлы, предоставленные пользователем (которые, как гарантируется, не являются частью ваших ресурсов класса) таким образом? Почему вы не используете обычный API IO файловой системы? –

+0

Как @TomG сказал, почему вы не храните выбранный файл в какой-либо другой каталог и не читаете его там с обычным java IO? – Piro

ответ

1

В следующей ссылке показан довольно уродливый хак, который добавляется к SystemClassLoader во время выполнения. Adding files to java classpath at runtime

+0

Нет ли простого способа? Мое требование просто в том, что я хочу добавить файл в ресурсы во время выполнения. Например: - 'String fileName =" C:/Users/Zulfiqar Junejo/Desktop/profile.jpg "' Теперь есть ли способ добавить файл, представленный этим каталогом в ресурсы? –

+0

Вы можете добавлять папки или файлы jar в загрузчик классов (который содержит все ресурсы). См. Javadoc: http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String) – Khinsu

+0

[Как ответить] (http: // stackoverflow. com/questions/how-to-answer): ** Предоставить контекст для ссылок ** Ссылка на потенциальное решение всегда приветствуется, но добавьте контекст вокруг ссылки, чтобы у ваших коллег было некоторое представление о том, что это такое и почему там . Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме. – BackSlash

Смежные вопросы