日期:2014-05-20  浏览次数:20870 次

如何读取相对路径下的图片
项目资源文件下有一个images文件夹,文件夹里面有一个图片haidao.jpg
如下图: 

如何用代码读取图片????
Java code

private BufferedImage ReadImage(String filePath,int width,int height)
        {
            File file = new File(filePath);  
            if (!file.exists()) 
            {   
                return null;   
            }   
            try 
            {
                Image    imagemain = ImageIO.read(file);
                BufferedImage Mainimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
                Mainimage.getGraphics().drawImage(imagemain.getScaledInstance(width, height,Image.SCALE_SMOOTH), 0, 0, null); 
                return Mainimage;
            }
            catch (IOException e) 
            {
                e.printStackTrace();
            }   
            return null;
        }


上面读取文件代码,传绝对路径是可以成功读取图片的,但是传相对路径就找不到图片了。
BufferedImage img=ReadImage("images/haidao.jpg",100,100); //读取不到图片
即使把图片和代码放在一个目录里面,
BufferedImage img=ReadImage("haidao.jpg",100,100); 
还是读取不到图片 。

------解决方案--------------------
new File(filePath);
这个肯定是绝对路径啊,不然这个文件他怎么知道创建呢,楼主在程序中应该也可以得到这文件的绝对路径吧
------解决方案--------------------
Image.FromFile("Image\\video.PNG")
------解决方案--------------------
参照。。。
Image imagemain = ImageIO.read(this.getClass().getResource("/images/haidao.jpg"));
------解决方案--------------------
new File(filePath); 需要绝对路径