根据API,Java的ImageIO (javax.imageio.ImageIO)
为.read()
方法提供了几种重载方法。
其中两种方法是:
ImageIO.read(File input)
ImageIO.read(URL input)
Oracle教程网站使用读取文件方法ImageIO.read(File input)
。但是,我已经看到程序员编写的许多示例更喜欢使用URL方法ImageIO.read(URL input)
。
例如:
img = ImageIO.read(new File("myImage.png"));
vs
img = ImageIO.read(getClass().getResource("images/myImage.png"));
我的问题是:如果我只编写Java桌面应用程序(而不是Java applet)。使用URL方法比其他方法有显着优势吗?
注意:SO中有一个标题相似的帖子:Using URL or File (in ImageIO.read)
但是这个问题专门针对IDE。但我并不是基于任何特定的IDE提出要求,但通常一方面有哪些突出优势?
答案 0 :(得分:2)
..一方面有什么显着优势?
URL
可以指代互联网上的位置,用户本地文件系统上的文件或Jar文件中的资源 - embedded-resource。
File
可以引用用户本地文件系统上的文件,并且......好吧,就是它。
因此,除非资源需要读取/ 写入,否则我会使用该网址,因为它更具通用性。
答案 1 :(得分:0)
将资源保留在归档文件中总是比将文件保留在文件系统中更好。假设您要分发JAR
文件。然后它将无法在其他计算机上正常工作。此外,人们可能会错误地删除这些文件。另一方面,JAR
档案是不可编辑的。保持JAR内部的更好选择。如果想从互联网上删除,故事就不同了。