Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用InputStream进行日志记录,然后进行XML解析_Java - Fatal编程技术网

Java 使用InputStream进行日志记录,然后进行XML解析

Java 使用InputStream进行日志记录,然后进行XML解析,java,Java,我想做的是记录我使用的inputstream的输出 org.apache.http.HttpEntity entity = response.getEntity(); org.apache.http.HttpResponse content =entity.getContent(); //Print the result to the screen for debugging //puroposes if(Logging

我想做的是记录我使用的inputstream的输出

org.apache.http.HttpEntity entity = response.getEntity();
org.apache.http.HttpResponse content =entity.getContent();


            //Print the result to the screen for debugging
            //puroposes
            if(Logging.DEBUG) {
                InputStream content =entity.getContent();

                int i;
                StringBuilder b = new StringBuilder();
                while( (i=content.read()) != -1 ) {
                    b.append((char)i);
                }

                Log.d(TAG, b.toString());
            }
现在,在完成日志记录之后,我希望通过XML解析器使用完全相同的流。问题是它告诉我蒸汽已经被使用了


我尝试在调试前后使用
mark()
reset()
调用,但没有成功。

这取决于返回的inputstream是否支持它。
InputStream
类中的默认实现不执行任何操作,如下所示。因此,您无法确定返回的流是否真正支持它。为了确保这一点,您应该将其包装在一个支持这些方法的文件中。

通常
mark()
reset()
不会在任意输入流上工作。它们只适用于底层数据源支持这些操作的子类,如
FileInputStream


对于SocketInputStream或console InputStream之类的东西,您唯一的选择将是在某处读取并缓冲整个流内容;例如,在内存中或将其写入临时文件。

此解决方案可能对某些人有帮助:考虑使用来自Apache CAMONS库的TEEIN流