Привет, я пытаюсь получить доступ к файлам изображений из моей папки SRC, чтобы я мог запускать его прямо из банки. К несчастью, не загружая их, могу ли я, пожалуйста, помочь. Это исключение нулевого указателя и не может прочитать входной файл. вот расположение папки и то, что я положил в код. CODE: «/sprites/mapsheet2.png» Directory: C: \ Users \ Lucas \ workspace \ Vigilante \ src \ sprites \ mapsheet2.png, если вам нужна дополнительная информация, скажите мне и сообщите ее.Как я могу получить доступ к файлам в папке SRC?
ответ
Ресурсы .jar файл может быть загружен с: getClass().getResource()
возвращает URL с правильного пути
Image icon = ImageIO.read(getClass().getResource("image´s path"));
Исключение из потока "main" java.lang.IllegalArgumentException: input == null! \t at javax.imageio.ImageIO.read (Неизвестный источник) \t на Graphics.spritesheet.
Не помещайте выходные данные в комментарий. Он не читается. Вместо этого [edit] (http://stackoverflow.com/posts/17774984/edit) задайте вопрос о включении вывода и используйте форматирование кода на нем. Для этого выберите образец и нажмите кнопку '{}' над формой отправки сообщений/редактирования. –
Вы можете упаковать все необходимые ресурсы в .jar архива. И доступ к нему с использованием
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("res\file.img")
может использовать imageIO для преобразования в изображение.
защищенный spritesheet s = новый спрайт ("/ спрайты/Blocks.png"); – user2551633
Вы можете попробовать загрузить изображение как ByteArrayInputStream в BufferedImage. Что-то вроде этого: BufferedImage img = null; try { BufferedInputStream sc = new BufferedInputStream (ImageLoad.class.getResourceAsStream (файл)); ArrayList in = new ArrayList(); байт b = null; while ((b = sc.read)! = Null) in.add (b); byte [] байты = новый байт [in.size()];
for (int i = 0; i < in.size(); i ++) байты [i] = in.get (i); img = ImageIO.read (новый ByteArrayInputStream (байты)); } catch (исключение e) {}
, а затем просто используйте изображение по мере необходимости! Единственное, что вы должны иметь sprites/mapsheet2.png в той же папке, что и класс, из которого вы его запускаете. Скажем, что ваш класс - ImageLoad.java, ImageLoad.java должен быть в том же пакете, что и sprites/mapsheet2.png. EC:
ImageLoad.java в пакете image.load, в пакете image.load - это спрайты ресурсов (A Dir) и спрайты/mapsheet2.png, а также для любых других изображений, необходимых для загрузки в этой области , Если вы хотите загрузить изображение и использовать его в другом классе, вы можете просто создать метод, включающий вышеуказанный код, и вернуть bufferedImage. EC:
public class ImageLoad {
public static BufferedImage load(String file) throws Exception{
BufferedInputStream sc = new BufferedInputStream(ImageLoad.class.getResourceAsStream(file));
ArrayList<Byte> in = new ArrayList<Byte>();
byte b = null;
while((b = sc.read) != null)in.add(b);
byte[]
bytes = new byte[in.size()];
for(int i = 0; i < in.size(); i ++)bytes[i] = in.get(i);
return ImageIO.read(new ByteArrayInputStream(bytes));
}
}
Я не думаю, что метод является ошибкой, которую он прочитал, совершенно отлично, прежде чем я попытаюсь прочитать его из SRC. – user2551633
Держите его исправленным, спасибо всем за вашу быструю и надежную помощь. гениальное сообщество. – user2551633
- 1. PHP, как получить доступ к файлам в папке, защищенной HTAccess
- 2. Как получить доступ к файлам в Джанго
- 3. Доступ к файлам в папке активов
- 4. Доступ к файлам в папке «решения» создан
- 5. Запрещенный доступ к файлам в определенной папке
- 6. Yii2 - как получить доступ к файлам html в корневой папке?
- 7. Запретить прямой доступ к файлам в папке
- 8. Как я могу получить доступ к файлам INI с Perl?
- 9. Как я могу получить доступ к папке в Active Directory?
- 10. Как я могу получить доступ к файлам cookie сразу?
- 11. Как я могу получить доступ к файлам через wifi
- 12. Не удается получить доступ к файлам в определенной папке
- 13. Не удается получить доступ к файлам в общей папке
- 14. C# доступ к папке/файлам через webservice
- 15. Я не могу получить доступ к файлам в IIS 6
- 16. Использование java не может получить доступ к файлам в папке
- 17. Apache не может получить доступ к файлам в домашней папке
- 18. Как я могу получить доступ к папке из веб-проекта
- 19. MVC - Доступ к css, image, js файлам в папке просмотра
- 20. Доступ к файлам Java
- 21. Доступ к папке и файлам Magento
- 22. Docker: Могу ли я получить доступ к системным файлам?
- 23. VB6, Как ограничить доступ пользователей к HTML-файлам в папке
- 24. Разрешить доступ к файлам php в общей папке laravel
- 25. Как получить доступ к файлам в подкаталогах?
- 26. Как запретить пользователям доступ к файлам в папке?
- 27. Доступ к файлам/каталогам в папке webapp весной
- 28. Я не могу получить доступ к выделенной папке android
- 29. Как я могу надежно гарантировать доступ к файлу/папке?
- 30. Я не могу получить доступ к папке на сервере
* любая дополнительная информация * - Код Пожалуйста. –
* Если вам нужна дополнительная информация, сообщите мне и сообщите об этом. * Поместите соответствующий код, а не просто объясните проблему. –
Ответы правильны, насколько они подходят, но я считаю, что у вас может быть другая проблема. Когда вы создаете файл jar, система сборки _know_ должна включать эти конкретные ресурсы? Обычно конфигурация системы сборки будет иметь опции для указания того, какие типы ресурсов следует включать в банку. –