我通过servlet向用户发送纯文本文件。
我使用flatworm框架来构建平面文件。我在浏览器中收到该文件但是为空。所以我想在发送之前开始调试分析输出流。
在将其发送到servlet之前,我如何阅读响应?我认为如何将OutputStream
转换为InputStream
是一回事。
我已经看到了始终涉及ByteArrayOutputStream
的解决方案,正如您所知,当我在servlet response.getOutputStream()
中调用时,它会返回OutputStream
而不是ByteArrayOutputStream
。< / p>
答案 0 :(得分:0)
某处似乎有些混乱,但我不确定究竟在哪里。
你可以用OutputStream做什么?为什么,你可以写信,关于它。这意味着,如果您给(或查找)输出流,则由您来提供数据 - 这意味着您已经拥有它。
也许另一方面,你自己并没有直接在OutputStream上调用write
,而是将这个流传递给扁虫库(它会将输出写入它)。在那种情况下,你的调试是&#34; hook&#34;就在那里 - 扁虫会将文件写出到你发送的任何输出流。因此,在这种情况下,您不必传入servlet的流,而是传入您自己创建的流。
这可能是ByteArrayOutputStream
,它(在返回扁虫方法之后)可以检查以获取写入的字节。此时,您可以手动将它们写入响应的输出流。或者你可能需要做一些稍微复杂的事情并创建自己的流包装器,它直接写入底层的响应流但是记录在路上 - 并将其传递给扁虫。
但最重要的是,如果您正在与输出流进行交互,那么&#34;您的&#34;代码已经在本地某处获得了数据,而这只是捕获/访问数据的问题。