InputStream,String,File相互转化
1. String --> InputStream
java" id="highlighter_762868">
1
2
3
4
|
InputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream; } |
2. InputStream --> String
1
2
3
4
5
6
7
8
9
|
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(); } |
今天从网上看到了另一种方法,特拿来分享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
1
|
InputStream in = new InputStream( new FileInputStream(File)); |
4、InputStream --> File
1
2
3
4
5
6
7
8
9
10
|
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(); } |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!