java - 为什么我们必须将InputStream转换为ByteArrayOutputStream?

标签 java android

为什么openInputStream函数不返回文件的字节表示形式,而是返回我们必须迭代的InputStream并将其放入ByteArrayOutputStream >?

最佳答案

InputStream 类是一个抽象类,您不能拥有它的实例。 大多数此类方法声明返回 InputStream 但实际上返回它的一些真实/具体实现。然后,您通常可以构造一个更高级别的流(取决于您的需求),它在其构造函数中接受 InputStream 作为参数。 现在,您需要 ByteArrayOutputStream 但其他人可能需要其他东西,例如一个文件输入流。由于该方法返回 InputStream,因此它对你们双方都有用。

关于java - 为什么我们必须将InputStream转换为ByteArrayOutputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776339/

相关文章:

java - Android 编译错误

java - 如何在终止 Storm 拓扑之前调用特定方法

android - 如何更新 Firebase 中的项目?

android - 为什么 Intent 总是使用 FLAG_ACTIVITY_FORWARD_RESULT 和 FLAG_ACTIVITY_PREVIOUS_IS_TOP?

java - 连接良好时上传图片,Android(后台进程)

Android TextView 可点击 <a href/> 标签并链接到浏览器

java - 如果我的目标是 2.1,如何使用 2.2 功能?

java - 如何限制 EditText 在 Java 中仅输入浮点值?

java - java rxObservable 的结果集中没有聚合数据

java - Android中项目的自定义ListView点击问题