gpt4 book ai didi

android - 读取 DataOutputStream 的内容

转载 作者:太空狗 更新时间:2023-10-29 14:31:20 26 4
gpt4 key购买 nike

谁能告诉我是否有办法读取/输出 DataOutputStream 的内容? 我正在使用

new DataOutputStream( httpUrlConnection.getOutputStream() );

并且正在向其中写入一些发布数据。我希望能够在写入此输出流后查看我发布的数据,但找不到简单的方法。

感谢您的帮助!

最佳答案

当然,您可以“看到”DataOutputStream 的“内容”——我想这可能不是您所期望的!我想你想要做的是检查通过流传递的数据,这对于常规类来说是不可能的——事实上,流的定义是它不包含所有的随时由它管理的数据。

如果你真的需要能够审核你提供给任何输出流的数据,那么你可以这样做:

import java.io.DataOutputStream;

public class WatcherOutputStream extends DataOutputStream {
private byte[] data = null;

public WatcherOutputStream(OutputStream delegateStream) {
super(delegateStream);
}

public void write(byte[] b) {
// Store the bytes internally

// Pass off to delegate
super.write(b);
}
}

数据保存代码和剩余的写入方法留给您作为练习。当然,这是一种跟踪您正在写入流的数据的可怕方式——它在内存和速度方面都是额外的一层开销。另一种选择是使用 AOP 在您编写数据时检查数据。这种方法的优点是对代码的干扰较小,并且易于维护,因为您可以轻松添加和删除切点而无需修改主程序。我怀疑 AOP 可能是一个比您现在正在寻找的解决方案更复杂的解决方案,但我包括了这个 link阅读更多内容,以备不时之需。

关于android - 读取 DataOutputStream 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com