Java相当于Ruby的__FILE__?

jsh*_*hen 0 ruby java

在Ruby中我经常File.dirname(__FILE__)用来打开配置文件等.对于那些不了解Ruby的人,这将给出文件系统中调用它的文件的位置.这允许我用数据库和配置文件打包库,并用相对路径打开这些文件.

什么是Java相当于此?如果有一个数据文件,我想用jar包装,我如何从jar中的Java代码打开数据文件?

eri*_*son 7

Java中的等效API是getResourceAsStream.这将打开存储在JAR中的文件的流,该文件相对于调用它的类.

有一些变体,例如getResource,返回一个URL,或者ClassLoader使用JAR文件中的绝对路径的方法.