プロジェクトをKotlinに移行しています。これは次のとおりです。
public static Properties provideProperties(String propertiesFileName) {
Properties properties = new Properties();
InputStream inputStream = null;
try {
inputStream = ObjectFactory.class.getClassLoader().getResourceAsStream(propertiesFileName);
properties.load(inputStream);
return properties;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
今でしょ:
fun provideProperties(propertiesFileName: String): Properties? {
return Properties().apply {
ObjectFactory::class.Java.classLoader.getResourceAsStream(propertiesFileName).use { stream ->
load(stream)
}
}
}
とても素敵です、コトリン! :P
問題は、このメソッドが.properties
内のsrc/main/resources
ファイルを検索することです。使用:
ObjectFactory::class.Java.classLoader...
それは動作しますが、以下を使用します:
this.javaClass.classLoader...
classLoader
はnull
...です.
(メモリアドレスも異なることに注意してください)
どうして?
ありがとう