Java 是否有任何理由不使用resource.getInputStream()?
创建Java 是否有任何理由不使用resource.getInputStream()?,java,spring,file-io,Java,Spring,File Io,创建文件输入流是否有好处,如下所示: InputStream fileInputStream = new FileInputStream(resource.getFile()); InputStream resourceInputStream = resource.getInputStream(); 而不是使用由资源创建的InputStream,如下所示: InputStream fileInputStream = new FileInputStream(resource.getFile()
文件输入流
是否有好处,如下所示:
InputStream fileInputStream = new FileInputStream(resource.getFile());
InputStream resourceInputStream = resource.getInputStream();
而不是使用由资源创建的InputStream
,如下所示:
InputStream fileInputStream = new FileInputStream(resource.getFile());
InputStream resourceInputStream = resource.getInputStream();
资源是一个
org.springframework.core.io.resource
资源并不总是来自文件。它可以来自网络资源,也可以由类加载器动态生成。如果你这样做,你可能99%的时间都很好,但在特定的意外情况下你可能会遇到麻烦
一般来说,最好不要对任何事情的具体实现做出假设
通过使用
resource.getFile()
假设资源来自文件。资源并不总是来自文件。它可以来自网络资源,也可以由类加载器动态生成。如果你这样做,你可能99%的时间都很好,但在特定的意外情况下你可能会遇到麻烦
一般来说,最好不要对任何事情的具体实现做出假设
通过使用
resource.getFile()
假设资源来自文件。如果您只需要输入流,那么没有理由不使用它。getFile
的目的是通过打开文件上的FileInputStream
以外的方式访问文件,例如读取属性、移动、删除、通过NIO而不是传统IO打开文件等。如果您只需要输入流,那么没有理由不使用它。getFile
的要点是,除了在文件上打开FileInputStream
之外,还可以通过其他方式访问文件,例如读取属性、移动、删除、通过NIO而不是传统IO打开文件等。是的,我清楚地看到了使用resource.getInputStream()的好处,“但不使用它有什么好处吗?”大卫帕森对不起,我倒着理解了你的问题。如果您只需要一个InputStream,我看不出有任何理由从该文件创建一个FileInputStream。是的,我清楚地看到了使用resource.getInputStream()
的好处,但是不使用它有什么好处吗?@DavidPärsson抱歉,我向后理解了您的问题。如果您只需要一个InputStream,我看不出有任何理由从该文件创建FileInputStream。