Jersey客户端Post PUT InputStream“输入流”;“400错误请求”;

Jersey客户端Post PUT InputStream“输入流”;“400错误请求”;,jersey,inputstream,put,jersey-client,http-status-code-400,Jersey,Inputstream,Put,Jersey Client,Http Status Code 400,在我的代码中,我试图反复构建一个客户端,并向远程端点发送一个输入流: 对于(int i=0;i请检查您的输入流。在我看来,您有以下问题: 在第一次请求时,inputstream处于有效状态,数据可用 在以下请求中,您的流已经结束。因此没有任何内容可读取,您发送的是jersey处理为“错误请求”的空数据 所以试着使用一个inputstream,你可以在每次循环迭代中倒带它 但这可能会破坏使用流的全部意义。谢谢你的回答。事实上,问题正是你所描述的。在第二次迭代中,inputstream提供空数据…如

在我的代码中,我试图反复构建一个客户端,并向远程端点发送一个输入流:


对于(int i=0;i请检查您的输入流。在我看来,您有以下问题:
在第一次请求时,inputstream处于有效状态,数据可用
在以下请求中,您的流已经结束。因此没有任何内容可读取,您发送的是jersey处理为“错误请求”的空数据

所以试着使用一个inputstream,你可以在每次循环迭代中倒带它


但这可能会破坏使用流的全部意义。

谢谢你的回答。事实上,问题正是你所描述的。在第二次迭代中,inputstream提供空数据…如果我尝试将其转换为字符串…我会得到一个空数据。现在我的问题是:如何倒回inputstream?取决于您拥有什么类型的流。我找到的快速示例:它使用一个FileInputStream.stream.mark(0)来标记位置0,并使用stream.reset()将inputstream重置为标记