getResourceAsStream()与FileInputStream?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (5)
  • 关注 (0)
  • 查看 (221)

getResourceAsStream()与FileInputStream的主要区别是什么?

提问于
用户回答回答于

getResourceAsStream()通过classname的类加载器加载文件。如果类来自JAR文件,那么就会从JAR文件中加载资源。

FileInputStream用于从文件系统读取文件。

用户回答回答于

文件InputStream将加载传递给构造函数的文件路径,作为相对于工作目录Java进程。

用户回答回答于

FileInputStream类直接处理底层文件系统。getResourceAsStream()方法的工作方式不同。它尝试使用ClassLoader被称为“类”

用户回答回答于

getResourceAsStream是为网络应用程序而搞出来的

用户回答回答于

java.io.File在本地磁盘文件系统上执行

System.out.println(new File(".").getAbsolutePath());

但是,工作目录绝不是可控的。应该更喜欢用绝对路径

Web应用程序中的另一种选择是ServletContext#getResource()及其对应方ServletContext#getResourceAsStream().它能够在公众中找到的文件web文件夹中的webapp项目,包括/WEB-INF文件夹

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    27 粉丝7 提问5 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答
  • 富有想象力的人

    2 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券