根据API,Java的ImageIO (javax.imageio.ImageIO)
为.read()
方法提供了几种重载方法。Java ImageIO.read(文件与URL)
这些方法的两个是:
ImageIO.read(File input)
ImageIO.read(URL input)
甲骨文教程网站使用的文件的方法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小程序)。使用URL方法比其他方法有显着的优势吗?
注意:有类似职务任职于SO:Using URL or File (in ImageIO.read)
但这个问题在IDE具体地址。但我并不是要求基于任何特定的IDE,但通常有一个优于其他的优势。
所以唯一的优点是多功能性,也许它也更安全的使用URL方法,因为它也可以读取嵌入式资源,如从'JAR'。我有权这么说吗? – user3437460
*“所以唯一的优点是多功能性......”*你想要多少优势?*一个足以让我达到网址。 *“..也许它更安全......”*我称之为'前瞻性思维'。毕竟,如果应用程序。变成分布式(通常是一个罐子)。 'File'将会非常可靠地失败。和'URL'一样可靠。所以没有那么'安全','没有完全破碎'。 –
非常感谢您的回复。你还可以解释一下你的最后一句话:除非需要对资源进行读/写访问,否则我会使用URL,因为它具有更多功能。当需要写访问时,'File'如何比'网址的方法呢? – user3437460