我的代码需要一个PNG文件。我应该把它放在哪里? 我看到有些人把它们放在.java中,然后使用getClassLoader()。getResourceAsStream。
就个人而言,我认为将资源文件与源代码混合并不干净。 这是一个好的方法吗?
答案 0 :(得分:6)
这是一种非常普遍和被接受的做法。它的优点是PNG文件将与代码一起捆绑在JAR文件中。因此,您不必担心文件系统问题和安装过程。如果您的代码在那里,资源也是如此。
您可以为同一个项目提供多个源文件夹,一个用于Java,一个用于资源。如果您使用的是Maven,建议使用这种结构。但是,将PNG(以及属性和XML)文件混合到源树中也不是问题(特别是因为如果不使用Maven,分离会使构建过程复杂化。)
您应该远离源(和编译结果)的唯一事项是用户可编辑的数据,例如配置文件。如果您希望用户能够替换图像,这可能适用于此处。如果它是固定的(或提供默认值),请将其与程序捆绑在一起以减少可移动(=易碎)部件的数量。