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

网友投稿 284 2023-05-24


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

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) {

ohttp://s.write(buffer, 0, bytesRead);

}

os.close();

ins.close();

}

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ES6生成器用法实例分析
下一篇:多线程死锁的产生以及如何避免死锁方法(详解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~