java 属性文件 路径,java – 如何从属性文件的服务器路径获取URL位置

显然,第三方JAR需要基于本地磁盘文件系统的URI.这实际上是他们身边的错误.可以通过uri.toURL().openStream()获取内容,而无需担心URI实际位于的上下文.拒绝该值表明第三方正在使用新的FileInputStream(新文件(uri))那.首先,应该报告这一点,以便他们能够正确地修复它.

同时,最好的办法是将其转换为基于本地磁盘文件系统的URI,而不是提供虚拟文件系统或基于Web的URI.您可以通过在容器管理的临时文件夹中使用File#createTempFile()的帮助创建临时文件,将内容写入其中并最终将临时文件作为URI提供.

下面的示例假设您在servlet中,因此已经掌握了getServletContext().否则,您正在使用的基于Java EE的框架必须具有为/向您注入ServletContext的功能.

String tempDir = (String) getServletContext().getAttribute(ServletContext.TEMPDIR);

File tempFile = File.createTempFile("temp-", ".properties", new File(tempDir));

Files.copy(propertiesUrl.openStream(), tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING);

// ...

defaultConfiguration = Factory.createDefaultConfiguration(tempFile.toURI());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值