ARA*_*AZA 0 java dataoutputstream bytearrayoutputstream
我知道这可以使用包装器模式完成,但我很难理解,以下代码如何工作.
ByteArrayOutputStream bytearray = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(bytearray);
Run Code Online (Sandbox Code Playgroud)
将ByteArrayOutputStream引用传递给构造函数DataOutputStream意味着DataOutputStream转换为ByteArrayOutputStream,但如何?
在此之后,os.writeUTF("String");
如何DataOutputStream转换为ByteArrayOutputStream.
幕后发生了什么?有人可以解释一下细节.
在DataOutputStream只需要的任何实现OutputStream在其构造.它并不关心它是如何实现的只是它满足接口.A ByteArrayOutputStream提供由字节数组支持的输出流.同样,您可以使用a FileOutputStream来获取磁盘上的文件支持的流.从它DataOutputStream的角度来看,它们都是与界面一起使用的流. OutputStream是一个非常简单的接口,只是定义了一些将字节数组写入某种存储设备的方法.
在幕后没有任何魔力,它只是使用了一个OutputStream而不关心它是如何实现的.
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |