2011-09-22 63 views
2

我的代码需要一个PNG文件。我应该把它放在哪里? 我看到有人把它们放在.java中,然后使用getClassLoader()。getResourceAsStream。Java - 在哪里存储额外的资源文件

个人而言,我认为将资源文件与源代码混合并不干净。 这是一个好方法吗?

回答

6

这是一个非常普遍和被接受的做法。它的优点是PNG文件将与代码捆绑在JAR文件中。所以你不必担心文件系统问题和安装过程。如果你的代码在那里,资源也一样。

对于同一个项目,您可以有多个源文件夹,一个用于Java,一个用于资源。如果您使用的是Maven,建议使用这种结构。但是,将PNG(和属性和XML)文件混合到源代码树中也不是问题(尤其是因为如果不使用Maven,分离会使构建过程复杂化)。

您应该独立于源代码(和编译结果)的唯一东西是用户可编辑的数据,例如配置文件。如果您希望用户能够替换图像,这可能适用于此处。如果它是固定的(或提供了默认值),请将其与您的程序捆绑在一起,以减少可移动(=易碎)部件的数量。

+0

听起来不错。我去做。 – thinkanotherone

+0

_你可以有多个源文件夹为同一个project_,最长的时间,我试图把资源文件放在一个单独的文件夹中。你解决了它。 +1 – Mordechai