前言介绍了几种从InputStream迁移到String、从String迁移到InputStream的方法。 可以马上使用
如何从InputStream迁移到String:
publicstringinputstreamtostring (inputstream inputstream ) throws exception { byte [ ] bytes=new byte [0]; int count=0; while(count==0) { count=inputStream.available ); } bytes=new byte[count]; Inputstream.read(bytes; stringstr=newstring(Bytes; 返回str; }方法2 :
public string inputstream2string (inputstream in ) throwsioexception (string buffer out=new string buffer ); byte[] b=new byte[4096]; for(intn; (n=in.read(b ) b )!=-1; (out.append )新字符串(b,0,n ); } return out.toString (; }
方法三、public string inputstream3string (inputstream inputstream ) throws exception (stringbuilder sb=new stringbuilder ); 字符串线; 缓冲读取程序br=null; 字符串str=null; try { br=newbufferedreader (newInputstreamreader ) inputstream ); while((line=br.readline ) )!=空(sb.append ) line ); } str=sb.toString (; }catch(exceptione ) (finally ) if ) br!=null () { br.close ); } }返回str; (注意: readLine ) )用于读取流的读取数据,同时以字符串形式返回该行中的数据。 调用一次即可读取一行数据,读取后跳到下一行,读取完所有数据后返回null。
方法四.公共字符串输入流4字符串(输入流输入流) throwsexception(stringstr=null; try (bytearrayoutputstreamresult=newbytearrayoutputstream ); ) { byte[] buffer=new byte[1024]; int length; while((Length=Inputstream.read ) ) Buffer!=-1 ) result.write(buffer,0,length ); } str=result.tostring (标准charsets.utf _8. name (); result.close (; }返回str; }
String表示inputstreaminputstremis=newbytearrayinputstream (str.getbytes (); 或bytearrayinputstreamstream=newbytearrayinputstream (str.getbytes () ); 也可以指定代码
inputstream stream=newbytearrayinputstream (str.getbytes (' utf-8 ' );