如何创建一个灵活的介质来访问带有代码的png / bmp文件,这样我的代码就可以在Eclipse中运行,也可以在导出之后运行?

时间:2014-02-16 05:47:51

标签: java eclipse

我正在创建一个在屏幕上搜索特定图像的应用程序。我读取了我正在扫描的图片(文件)并将其转换为缓冲图像,然后转换为int[],以便我可以更快地处理它。我还使用机器人类来截取屏幕截图并转换为int[]

在Eclipse中运行代码并将文件放在源文件夹中时,我没有任何问题。但是在将我的代码导出到可运行的jar文件后,我的扫描方法不再有效。我认为它可能与压缩有关,因为我的照片需要完全按照它们拍摄的方式。

我对“完成格式”的唯一成功是正常导出jar,并使用名为images的同一目录中的文件夹来保存文件。使用此代码:

File img = new File(System.getProperty("user.dir") + File.separator + "images" + File.separator + "Close.bmp");

直接从eclipse运行时我可以这样做:

File img = new File(src/Close.bmp);

有什么建议吗?也许出口罐子的一些提示/设置?

1 个答案:

答案 0 :(得分:0)

您有多种选择:

  • 可能最简单的就是放置image in the classpath,即将其与您的类文件一起部署,可能在jar文件中。缺点是您无法替换图像(只要您不希望用户使用类路径)

  • 将它相对于user.dir放置,在这种情况下,您需要了解user.dir实际上是什么:应用程序启动的工作目录。它将根据您的启动方式而有所不同。

  • 另一种选择是使用相对于user.home的路径,这是您的主目录。