当前位置: 移动技术网 > IT编程>开发语言>Java > java 中InputStream,String,File之间的相互转化对比

java 中InputStream,String,File之间的相互转化对比

2019年07月22日  | 移动技术网IT编程  | 我要评论

inputstream,string,file相互转化

 1. string --> inputstream

inputstream string2inputstream(string str){
 bytearrayinputstream stream = new bytearrayinputstream(str.getbytes());
 return stream;
}

2. inputstream --> string

string inputstream2string(inputstream is){
 bufferedreader in = new bufferedreader(new inputstreamreader(is));
 stringbuffer buffer = new stringbuffer();
 string line = "";
 while ((line = in.readline()) != null){
  buffer.append(line);
 }
 return buffer.tostring();
}

今天从网上看到了另一种方法,特拿来分享

string all_content=null;
  try {
  all_content =new string();

   inputstream ins = 获取的输入流;

   bytearrayoutputstream outputstream = new bytearrayoutputstream();
  byte[] str_b = new byte[1024];
  int i = -1;
  while ((i=ins.read(str_b)) > 0) {
   outputstream.write(str_b,0,i);
  }
  all_content = outputstream.tostring();
 } catch (exception e) {

e.printstacktrace();
  }

此两种方法上面一种更快,但是比较耗内存,后者速度慢,耗资源少

3、file --> inputstream

inputstream in = new inputstream(new fileinputstream(file));

4、inputstream --> file

public void inputstreamtofile(inputstream ins,file file){
outputstream os = new fileoutputstream(file);
int bytesread = 0;
byte[] buffer = new byte[8192];
while ((bytesread = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesread);
}
os.close();
ins.close();
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网