嗨,我在Android中使用自定义dataOutputStream作为requestStream
创建扩展类后,我立即发现了警告。

public class RequestStream extends DataOutputStream{
/**
 * Constructs a new {@code DataOutputStream} on the {@code OutputStream}
 * {@code out}. Note that data written by this stream is not in a human
 * readable form but can be reconstructed by using a {@link DataInputStream}
 * on the resulting output.
 *
 * @param out the target stream for writing.
 */


我所有的requestStream就像[B@6a4fc1e一样,应该是完整的请求有效负载。 (如上述警告说,这是不可读的)

我有异常,我猜这是格式错误的dataOutputStream导致的

java.lang.IllegalStateException: Cannot set request property after connection is made

我想知道在代码中放置{@link DataInputStream}的位置。

最佳答案

这里至少有三个独立的问题。


您的[B@6a4fc1e是调用toString()的结果,这与输出流无关。
IllegalStateException不是“格式错误的DataOutputStream的结果”。这正是它所说的结果:您尝试在建立连接后用未发布的代码设置一个request属性。
您不要在代码中放入{@link DataInputStream}。您将其放在Javadoc注释中。而且您已经拥有了。不清楚你在问什么。


我没有在此处扩展DataOutputStream的任何实际原因。

10-08 15:32