`

request.getInputStream() 只能读一次的解决方法

    博客分类:
  • Java
阅读更多
我们知道request.getInputStream()只能读一次,如果下一次读,就会报告Stream closed的错误。下面是解决方法。

InputStream input =  request.getInputStream();  
                  
ByteArrayOutputStream bytebuffer= new ByteArrayOutputStream();  
byte[] buffer = new byte[1024];  
int len;  
while ((len = input.read(buffer)) > -1 ) {  
    bytebuffer.write(buffer, 0, len);  
}  
bytebuffer.flush();                
  
InputStream stream1 = new ByteArrayInputStream(bytebuffer.toByteArray());  




输出request.getInputStream()内容的方法如下:

StringBuffer buffer = new StringBuffer();
		try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
			String line = "";
			while ((line = reader.readLine()) != null)
				buffer.append(line);
		}

		logger.info("接收xml数据:" + buffer);
分享到:
评论

相关推荐

    浅谈request.getinputstream只能读取一次的问题

    下面小编就为大家带来一篇浅谈request.getinputstream只能读取一次的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题

    下面小编就为大家带来一篇浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    postman调试接口工具

    在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件-...

    servlet电子书籍 pdf格式

    request.getInputStream()方法................................................8 request.getReader()方法 .......................................................8 request.getParameter(String name)方法,...

    Socket中InputStream的read方法的阻塞特性

    NULL 博文链接:https://superherosk123.iteye.com/blog/611933

    ServletRequest过滤程序

    提供了ServletRequest过滤程序,重新构造对象内容,并有效规避request.getParameter()、request.getInputStream()冲突的问题,同时提供了对跨站脚本攻击XSS和SQL注入的过滤程序。

    ognl源码包值得用一用

    很好的xwork的资源包public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); ...

    aspose-cells-8.5.2.jar带license.xml

    BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream())); License license = new License(); license.setLicense(br); } catch (Exception var3) { var3.printStackTrace...

    J2ME入门教程.10(j2me与Servlet相互通讯)编写和配置Servlet服务端

    ServletInputStream input_Stream = request.getInputStream(); DataInputStream d_Inputstream = new DataInputStream(input_Stream ); String data_MIDlet = d_Inputstream.readUTF(); d_Inputstream.close();...

    Java调用Linux命令

    Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...

    jspsmartupload上传下载,已修改过源代码!

    //突然有一次上传一文件时,发现最后几个字乱码,一直是??。在拿些文件测试, // 后来知道了是当文件名为中文奇数时,会乱码,而且还上传不了。 // 再做测试,找原因,查看字符的长度,转成16进制看结果。觉得是...

    spring-resource

    利用spring resource读取配置文件。

    org.apache.tools.zip解决解压乱码问题

    is = zipFile.getInputStream(entry); fileOut = new FileOutputStream(file); int readLen = 0; byte[] buffer = new byte[4096]; while ((readLen = is.read(buffer, 0, 4096)) >= 0) { fileOut.write...

    HTTP SPDY客户端开发包okhttp.zip

    okhttp 是一个 Java 的 ... in = connection.getInputStream(); byte[] response = readFully(in); return new String(response, "UTF-8"); } finally { if (in != null) in.close(); } } 标签:okhttp

    socket编程集萃

    而原始的字节流来源于Socket的两个方法,getInputStream()和getOutputStream()方,分别用来得到输入和输出,那么现在有了基本的模型和基本的操作工具,我们可以做一个简单的Socket例程了。  服务方:  import ...

    关于webuploader插件使用过程遇到的小问题

    本文为大家解决webuploader上传插件如何自定义参数的问题,供大家参考,具体内容如下 ...1、接口不需要指明参数,直接用request.getInputStream()二进制的方式来接受上传的文件,但是这里特别注意,需要将webuploader

    整合的开源头像上传剪裁组件(flash)兼容性好

    ImageInputStream ii = ImageIO.createImageInputStream(getRequest() .getInputStream()); BufferedImage br = ImageIO.read(ii); if (!file1.exists()) { file1.createNewFile(); } // 将BufferedImage变量...

    servlet2.4doc

    The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet...

    Java多线程(适合Java初学者查看).zip

    User user = new User("陈敬... InputStream in = socket.getInputStream(); BufferedReader bin = new BufferedReader(new InputStreamReader(in)); System.out.println("正在接受服务器端传来的信息。。。");

Global site tag (gtag.js) - Google Analytics