java - 创建 FileInputStream 对象时使用 InputStream 而不是 FileInputStream 有什么区别

标签 java file inputstream java-io fileinputstream

这可能有点傻,但我想知道后台操作的区别。

  1. InputStream is = new FileInputStream(filepath);
  2. FileInputStream is = new FileInputStream(filepath);

上面两行代码有什么区别,用在什么场景下。

最佳答案

FileInputStream 扩展 InputStream:它是 InputStream 的专门版本,专为读取文件而设计。

根据用途,InputStream 有多种实现方式。

使用代码中所需的最高类型通常是一种很好的做法。因此,如果您的代码需要从 InputStream 而不是专门从 FileInputStream 读取数据,您应该使用 InputStream。然而,如果您确实需要将对象的信息保留为 FileInputStream 而不仅仅是 InputStream,那么您应该保留 FileInputStream 类型。

关于java - 创建 FileInputStream 对象时使用 InputStream 而不是 FileInputStream 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17531824/

相关文章:

java - 找不到 Tomcat 7 404 intelliJ 资源

java - 使用 RabbitMQ 远程调用 Java 应用程序

JAVA HttpURLConnection I/O 不工作

gradle - 无法让Gradle使用System.in

java - 到达EOS后重置Java Socket的InputStream

java - 为什么ant Manifest任务会分割长主类名?

java - 如何防止多次点击 JComboBox

linux - 按列将大型 CSV 拆分为多个文件

linux - 通过 git 获取新的和修改的(真实状态)文件

file - Sublime Text 2 - 文件不会更新