在 Ruby 中,我经常使用 File.dirname(__FILE__)
打开配置文件等。对于那些不了解 Ruby 的人,这将给出调用它的文件在文件系统上的位置。这允许我将库与数据和配置文件打包,并使用相对路径打开这些文件。
Java 中与此等效的是什么?如果我想用 jar 打包一个数据文件,如何从 jar 中的 Java 代码打开该数据文件?
最佳答案
Java 中的等效 API 是 getResourceAsStream
。这将打开一个流到存储在 JAR 中的文件(相对于调用它的类)。
存在变体,例如 getResource
,它返回一个 URL,或 ClassLoader
上使用 JAR 文件内的绝对路径的方法。
关于Java 相当于 Ruby 的 __FILE__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942412/