Java 使用.getResource()从.jar获取文件
我正在尝试访问.jar中的一个文件。在Netbeans中,这是:Java 使用.getResource()从.jar获取文件,java,file,jar,getresource,Java,File,Jar,Getresource,我正在尝试访问.jar中的一个文件。在Netbeans中,这是: System.out.println(new File(this.getClass().getResource("Image.jpg").getFile()).exists()); 打印出: true 然而,在构建之后,它打印为false 该文件肯定位于.jar中,.class文件旁边,类似这样的内容: new Frame(){ @Override public void paint(Graph
System.out.println(new File(this.getClass().getResource("Image.jpg").getFile()).exists());
打印出:
true
然而,在构建之后,它打印为false
该文件肯定位于.jar中,.class文件旁边,类似这样的内容:
new Frame(){
@Override
public void paint(Graphics g){
try{
g.drawImage(ImageIO.read(this.getClass().getResource("Image.jpg")), 0, 0, this);
} catch(Exception e){e.printStackTrace();}
}
}.setVisible(true);
在建筑完成后绘制图像
如何将Image.jpg作为文件对象进行访问?您无法将文件对象访问到它。它是JAR中的一个条目,而不是文件系统中的文件。你有几个选择。通过将InputStream复制到文件系统来创建一个文件,找到一种使用InputStream的方法,或者总是让您的JAR扩展 您没有为其获取文件对象。它是JAR中的一个条目,而不是文件系统中的文件。你有几个选择。通过将InputStream复制到文件系统来创建一个文件,找到一种使用InputStream的方法,或者总是让您的JAR扩展 文件已打包,请重试
resource.getInputStream()
或
希望有帮助文件已打包,请重试
resource.getInputStream()
或
希望能有帮助