前言:今天工作的需要需要读取aws云上S3桶里面的PDF数据,第一步能够正常的获取PDF文件的InputStream流,然后,我为了测试使用了IOUtils.toString(is)将流System.out.println()输出后,然后再次使用获取的流,这时操作失败,具体如下: path = "s3://testpatsnapus/steven/KR/A/10/20/03/00/21/58/8/EM_0001805590063.pdf"; InputStream ins = AWSS…
今天因为项目需要,获取到一个inputstream后,可能要多次利用它进行read的操作.由于流读过一次就不能再读了,所以得想点办法. 而InputStream对象本身不能复制,因为它没有实现Cloneable接口.此时,可以先把InputStream转化成ByteArrayOutputStream,后面要使用InputStream对象时,再从ByteArrayOutputStream转化回来就好了.代码实现如下: InputStream input =  httpconn.getInputSt…
获取到一个inputstream后,可能要多次利用它进行read的操作.由于流读过一次就不能再读了,而InputStream对象本身不能复制,而且它也没有实现Cloneable接口,所以得想点办法. 实现思路: 1.先把InputStream转化成ByteArrayOutputStream 2.后面要使用InputStream对象时,再从ByteArrayOutputStream转化回来 package com.test; import java.io.ByteArrayInputStream;…
在用reset接口的时候,常常会使用request.getInputStream()方法,但是流只能读取一次,一旦想要加上一个过滤器用来检测用户请求的数据时就会出现异常.   在过滤器中通过流读取出用户post提交过来的数据,这是流已经读取了一次,那么该流就已经作废了,所以在contorller再次读取用户请求的数据时就会抛出异常. 解决方法   方法一:   参见:http://www.cnblogs.com/jiangxinnju/p/5709378.html 简单说一下原理,其实就是通过自…
//用流读取图片 清空之后再次关联地址 //设置FileShare.ReadWrite权限之后 不会提示占用进程异常 item是物理路径DiscussionImageList = new InterviewDiscussionApiModel(); FileInfo MyFile = new FileInfo(item); MyStream=MyFile.Open(FileMode.Open,FileAccess.Read,FileShare.ReadWrite); DiscussionImag…
在用reset接口的时候,常常会使用request.getInputStream()方法,但是流只能读取一次,一旦想要加上一个过滤器用来检测用户请求的数据时就会出现异常.   在过滤器中通过流读取出用户post提交过来的数据,这是流已经读取了一次,那么该流就已经作废了,所以在contorller再次读取用户请求的数据时就会抛出异常. 解决方法   方法一:   参见:http://www.cnblogs.com/jiangxinnju/p/5709378.html 简单说一下原理,其实就是通过自…
最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了点资料看了会api, 嘿感觉挺简单的,由于是第一次采用IO流的方式进行读取图片供页面显示,所以把以下代码记录一下   后台代码: <span style="white-space:pre">  </span>/** * IO流读取图片 by:long * @retu…
转载:https://blog.csdn.net/lilidejing/article/details/37913627 当需要用到InputStream获取数据时,这时就需要读取InputStream里面的数据了. InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len).在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一个字节,效率…
如这个文件 @Test public void test01() throws Exception{ InputStream in=new FileInputStream("c://test.txt"); byte[] b=new byte[1024]; ByteArrayOutputStream out=new ByteArrayOutputStream(); int len=-1; while((len=in.read(b))!=-1){ out.write(b,0,len); }…
目前基于rest风格的很多API开始使用通过body data来传输来代替之前的key-value传输方式.在Java servlet或者springmvc中可以通过如下代码来获取并图片通过流方式传输的数据: InputStream is= null; String contentStr=""; try { is = request.getInputStream(); contentStr= IOUtils.toString(is, "utf-8"); } catc…