为了账号安全,请及时绑定邮箱和手机立即绑定

getResourceAsStream()与FileInputStream

getResourceAsStream()与FileInputStream

繁星coding 2019-05-31 17:17:09
getResourceAsStream()与FileInputStream我试图在一个webapp中加载一个文件,然后我得到了一个FileNotFound当我使用FileInputStream..但是,使用相同的路径时,我能够加载文件。getResourceAsStream()..这两种方法有什么区别,为什么一种方法起作用,而另一种方法不起作用?
查看完整描述

4 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

getResourceAsStream对于web应用程序来说,这是正确的方法(正如您已经了解到的)。

原因是,如果你在战争中打包你的web应用程序,从文件系统中读取无法工作。这是正确的方式来打包一个网络应用程序。这种方式是可移植的,因为您不依赖于绝对文件路径或安装应用程序服务器的位置。


查看完整回答
反对 回复 2019-05-31
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

文件InputStream将加载传递给构造函数的文件路径,作为相对于工作目录Java进程。通常在web容器中,这类似于bin文件夹。

getResourceAsStream()将加载一个相对的文件路径。从应用程序的类路径.


查看完整回答
反对 回复 2019-05-31
?
holdtom

TA贡献1805条经验 获得超10个赞

这个FileInputStream类直接处理底层文件系统。如果有问题的文件在那里不存在,它将无法打开它。这个getResourceAsStream()方法的工作方式不同。它尝试使用ClassLoader它被调用的类。这使它能够找到例如嵌入在jar档案。


查看完整回答
反对 回复 2019-05-31
  • 4 回答
  • 0 关注
  • 1343 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信