当前位置: 首页 > 知识库问答 >
问题:

使用ImageIO非小程序读取

国言
2023-03-14

好的,我所有的类都在几个包中:Game/src/pack 1/Class.class

我想进入一个文件:游戏/分辨率/地形。巴布亚新几内亚

我该怎么做?

public Screen(Game game){
    this.game=game;
    try {
        URL url = new URL("/res/Terrain.png");
        textures = ImageIO.read(url);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

然后我得到这个错误:

java.net.MalformedURLException: no protocol: /res/Terrain.png
    at java.net.URL.<init>(URL.java:583)
    at java.net.URL.<init>(URL.java:480)
    at java.net.URL.<init>(URL.java:429)
    at kore.survival.Screen.<init>(Screen.java:25)
    at kore.survival.Game.<init>(Game.java:27)
    at kore.survival.Game.main1(Game.java:99)
    at kore.survival.LoginFrame.jButton1ActionPerformed(LoginFrame.java:201)
    at kore.survival.LoginFrame.access$200(LoginFrame.java:16)
    at kore.survival.LoginFrame$3.actionPerformed(LoginFrame.java:82)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
    at java.awt.EventQueue.access$000(EventQueue.java:102)
    at java.awt.EventQueue$3.run(EventQueue.java:662)
    at java.awt.EventQueue$3.run(EventQueue.java:660)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:676)
    at java.awt.EventQueue$4.run(EventQueue.java:674)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

共有1个答案

云俊名
2023-03-14

假设资源嵌入了Jar...

textures = ImageIO.read(getClass().getResource("/res/Terrain.png"));
 类似资料:
  • 我正在尝试使用内置的ImageIO. read(file)方法为我的lwjgl项目加载纹理。 创建一个新的文件对象是可行的,它在ImageIO中。read()方法,我有一个问题。 奇怪的是我从来没有遇到过这个问题。如果可以的话,我正在mac os Sierra上运行这个,我正在使用openGL。 这里是主类,在其中初始化新纹理对象。 知道可能是什么吗? 非常感谢。 [编辑] 奇怪的是,图像。如果在

  • 以下是我正在使用的代码: 以下是错误: 异常在线程"Thread-2"java.lang.IllegalArgumentExc0019:输入==空! 在javax.imageio.ImageIO. read(未知来源) 在io.deadspace.graphics.ImageLoader.loadImage(ImageLoader.java:19) 在io.deadspace.graphics.a

  • 基本上,我试图加载一些图像数据到java作为ImageIcon对象。我最初尝试简单地做ImageIcon图像=新ImageIcon(文件名),但这使得图像在导出为JAR文件时不会加载。我做这件事的新方法是: 这个错误是因为吃豆人。班getResource(文件名)返回null。我的目录是这样的:我的PacMan类位于src/Model/PacMan中,我的映像具有以下文件路径: 此外,我还尝试恢复

  • 问题内容: 我已经创建了可执行的jar文件(使用Eclipse),在jar中包含一组图像(.png)文件。所以我添加了一个源文件夹,其中所有图像都位于项目的文件夹中。代码必须访问这些文件才能使用创建BufferedImage 较早前,为了获得我使用的路径 在执行jar时,它抛出错误 URI不是分层的 所以现在我正在使用 但是如何使ImageIO从Inputstream读取?我试过如下 抛出错误 I

  • 本文向大家介绍微信小程序-小说阅读小程序实例(demo),包括了微信小程序-小说阅读小程序实例(demo)的使用技巧和注意事项,需要的朋友参考一下 今天和朋友聊天说到小程序,然后看在看书,然后我们就弄了个小读书的demo,然后现在分享一下。 一、先来上图: 二、然后下面是详细的说明 首先先说下边的tabBar,项目采用json格式的数据配置,不得不说,现在这个是趋势,.net core的配置也是这

  • 我已经创建了可执行的jar文件(使用Eclipse),有一组图像(.png)文件要嵌入到jar中。因此,我添加了一个源文件夹,其中包含项目中文件夹中的所有图像。代码必须访问这些文件才能使用