Próbuję odczytać plik właściwości ze ścieżki klasy przy użyciu scala. Wygląda jednak na to, że nie będzie działać, różni się od języka Java. Poniższy 2 fragment kodu, jeden to java (działający), drugi to scala (nie działa). Nie rozumiem, jaka jest różnica.Odczytaj plik właściwości pod ścieżką klasy przy użyciu scala
// working
BufferedReader reader = new BufferedReader(new InputStreamReader(
Test.class.getResourceAsStream("conf/fp.properties")));
// not working
val reader = new BufferedReader(new InputStreamReader(
getClass.getResourceAsStream("conf/fp.properties")));
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
at com.ebay.searchscience.searchmetrics.fp.conf.FPConf$.main(FPConf.scala:31)
at com.ebay.searchscience.searchmetrics.fp.conf.FPConf.main(FPConf.scala)
Dlaczego nie używasz [Config] (https://github.com/typesafehub/config)? –
Mam rozwiązanie, powinienem użyć absolutnej ścieżki tutaj "/conf/fp.properties", ale wciąż nie jest jasne, dlaczego ścieżka względna działa w java, ale nie w scala – zjffdu