java 中InputStream,String,File之间的相互转化对比
InputStream,String,File相互转化
1.String-->InputStream
InputStreamString2InputStream(Stringstr){ ByteArrayInputStreamstream=newByteArrayInputStream(str.getBytes()); returnstream; }
2.InputStream-->String
StringinputStream2String(InputStreamis){ BufferedReaderin=newBufferedReader(newInputStreamReader(is)); StringBufferbuffer=newStringBuffer(); Stringline=""; while((line=in.readLine())!=null){ buffer.append(line); } returnbuffer.toString(); }
今天从网上看到了另一种方法,特拿来分享
Stringall_content=null; try{ all_content=newString(); InputStreamins=获取的输入流; ByteArrayOutputStreamoutputstream=newByteArrayOutputStream(); byte[]str_b=newbyte[1024]; inti=-1; while((i=ins.read(str_b))>0){ outputstream.write(str_b,0,i); } all_content=outputstream.toString(); }catch(Exceptione){ e.printStackTrace(); }
此两种方法上面一种更快,但是比较耗内存,后者速度慢,耗资源少
3、File-->InputStream
InputStreamin=newInputStream(newFileInputStream(File));
4、InputStream-->File
publicvoidinputstreamtofile(InputStreamins,Filefile){ OutputStreamos=newFileOutputStream(file); intbytesRead=0; byte[]buffer=newbyte[8192]; while((bytesRead=ins.read(buffer,0,8192))!=-1){ os.write(buffer,0,bytesRead); } os.close(); ins.close(); }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!