我如何从我的Java应用程序中读取图像文件?

时间:2016-08-24 08:38:47

标签: java

我开发了发票生成程序。 每个pdf发票都包含左上角的图像,当我在别人的机器(不是开发的机器)上运行应用程序时,它不会在pdf的左上角显示图像。

这是我阅读图片的方式:

Image companyLogo = Image.getInstance("images/amadeus14.png");

这是我的选择1

在项目中我创建了一个包,在其中我创建了一个名为image的文件夹。 在该文件夹中,我已放置该图像文件并尝试在我的程序中访问它。

Image companyLogo = Image.getInstance("Resources/Images/HemasLogo.jpg");

这是我的选项2选项

但是它出错了

java.io.FileNotFoundException:C:\ Users \ businesssupport \ Documents \ NetBeansProjects \ invoiceGenerator \ Resources \ HemasLogo.jpg(系统找不到指定的路径)

1 个答案:

答案 0 :(得分:1)

查看您之前的问题thisthis

  • 您必须知道您正在尝试从当前工作目录中读取(您可以使用System.getProperty("user.dir"))找到它)
  • 这不是一个webapp。
  • 您无法使用共享(FTP)文件夹

所以,我可以看到两个选项:

  1. 在打包应用程序之前将图像放入包中,然后您就可以从任何计算机上读取它而无需进行任何更改

    检查Including Images with an executable jar


    1. 使用本地文件夹。您需要为每台安装的计算机创建一个公共文件夹,然后在每台计算机上手动复制该图像,并将其读取为

      Image companyLogo = Image.getInstance("C:\\myApp\\images\\amadeus14.png");