java - 有什么理由不使用 resource.getInputStream() 吗?

标签 java spring file-io

创建 FileInputStream 是否有利,如下所示:

InputStream fileInputStream = new FileInputStream(resource.getFile());

而不是使用资源创建的 InputStream,像这样:

InputStream resourceInputStream = resource.getInputStream();

资源是一个org.springframework.core.io.Resource

最佳答案

资源并不总是来自文件。它可能来自网络资源或由类加载器动态生成。如果这样做,您可能在 99% 的情况下都没有问题,但在特定的意外情况下可能会遇到麻烦。

作为一般规则,最好不要对任何具体实现做出假设。

通过使用 resource.getFile(),您可以假设资源来自文件。

关于java - 有什么理由不使用 resource.getInputStream() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218898/

相关文章:

java - 尝试编译 Java 程序时编码 Cp1252 的不可映射字符

spring - Tomcat 服务器 : org. apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:

java - NullPointer 异常存储库 Spring Boot Jpa

java - Spring 未分类SQLException : ORA-01012

python - Python 的 shelve.open 可以嵌套调用吗?

java - 使用 Java.io.File 列出目录内容时的奇怪行为

java - 为什么用 BufferedReader 读取文件注释的第一行?

java - 克隆一个整数

java - 关于不可变模式的一些问题

java - JFreeChart 折线图上的动画绘图