1

像这样创建一个 是否有利FileInputStream

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

而不是使用InputStream由资源创建的,如下所示:

InputStream resourceInputStream = resource.getInputStream();

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

4

2 回答 2

3

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

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

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

于 2012-11-04T13:29:14.650 回答
1

如果您只需要输入流,那么没有理由不使用它。重点getFile是通过打开文件以外的方式访问文件FileInputStream,例如读取属性、移动、删除、通过 NIO 而不是经典 IO 打开文件等。

于 2012-11-04T13:37:56.210 回答