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();
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!