【问题标题】:Include file as input stream in scala在 scala 中包含文件作为输入流
【发布时间】:2013-07-17 01:16:41
【问题描述】:

我在代码中使用文件时遇到问题。我正在使用 javaPNS 并试图让它工作。我现在认为错误的是如何在 javaPNS 的 Push.alert 方法中获取密钥库参数的文件。

我真正想知道的是如何正确“获取资源”以使其具有正确的格式?

抛出的异常如下:

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 中正确包含该文件?

问候,

【问题讨论】:

    标签: scala keystore getresource javapns


    【解决方案1】:

    您看到的问题与您正在加载的 InputStream 返回为 null 的事实有关。当您尝试加载的文件在类路径中找不到时,就会发生这种情况。尝试将您的代码更改为:

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

    您会注意到我删除了文件路径上的前导斜杠,因为我认为这是您的问题。然后只需确保“app”的父目录在您的类路径上。

    【讨论】:

    • 嘿,谢谢,我通过将getClass.getResourceAsStream("/app/conf/cert.p12") 更改为getClass.getResourceAsStream("/cert.p12") 解决了我的问题。说到其他 cmbaxter,我注意到您已经回答了我的很多问题,这方面的答案非常好。您是否以任何方式关注我,以便在我发布问题后立即看到我的问题?我想知道如果是这样:)
    • 我不确定是否有办法关注某人。我只是每隔几个小时检查一次 Scala 板,如果有我认为我可以回答的问题,我会尝试这样做。我想我能够回答您的问题只是一个巧合;)
    • 呵呵,好吧,那我知道了。继续努力,感谢您提供良好的教育答案:)
    猜你喜欢
    • 2019-07-21
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2018-11-26
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    相关资源
    最近更新 更多