Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用.getResource()从.jar获取文件_Java_File_Jar_Getresource - Fatal编程技术网

Java 使用.getResource()从.jar获取文件

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

我正在尝试访问.jar中的一个文件。在Netbeans中,这是:

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() 

希望能有帮助