/ / Включете файла като входен поток в scala - scala, keystore, getresource, javapns

Включете файла като входен поток в scala - scala, keystore, getresource, javapns

Имам проблеми с използването на файл в моя код. Работя с javaPNS и се опитвам да го накарам да работи. Това, което според мен е грешно, е как получавам файла си за параметъра keystore в метода Push.alert в javaPNS.

Това, което наистина се чудя, е как да "взема ресурс" правилно, така че да има правилния формат?

Ето изключението, което е хвърлено:

javapns.communication.exceptions.InvalidKeystoreReferenceException:
Invalid keystore parameter (null).  Must be InputStream, File, String (as a file path),
or byte[].
at........

И ето как в момента включвам файла:

val keystoreFile = getClass.getResourceAsStream("/app/conf/cert.p12")

Ако погледнем изключението, което получавам, смятате ли, че това е проблемът по-горе? Как трябва да включа файла правилно в Scala?

за разбирането,

Отговори:

2 за отговор № 1

Проблемът, който виждате, е свързан сфакт, че InputStream, който зареждате, се връща като нула. Това се случва, когато файлът, който се опитвате да заредите, не може да бъде намерен на пътя на класа. Опитайте да промените кода си на:

getClass.getClassLoader.getResourceAsStream("app/conf/cert.p12")

Ще забележите, че премахнах водещата наклонена черта по пътя към файла, тъй като вярвам, че това е вашият проблем. Тогава просто се уверете, че каквото и да е родителската директория на „app“ е на пътя ви към класа.