首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

String与InputStream互相转换

2013-08-01 
String与InputStream相互转换1.String to InputStream?String str String与InputStream相互转换?Inpu

String与InputStream相互转换

1.String to InputStream

?

String str = "String与InputStream相互转换";

?

InputStream ? in_nocode?? = ? new ? ByteArrayInputStream(str.getBytes());??
InputStream ? in_withcode?? = ? new ? ByteArrayInputStream(str.getBytes("UTF-8"));??

?

?

?

?

?

?

?

2.InputStream to String

?

??? 这里提供几个方法。

?

方法1:

?

??public?String?convertStreamToString(InputStream?is)?{ ??

?

???BufferedReader?reader?=?new?BufferedReader(new?InputStreamReader(is)); ??

?

????????StringBuilder?sb?=?new?StringBuilder(); ??

?

? ??

?

????????String?line?=?null; ??

?

????????try?{ ??

?

????????????while?((line?=?reader.readLine())?!=?null)?{ ??

?

????????????????sb.append(line?+?"/n"); ??

?

????????????} ??

?

????????}?catch?(IOException?e)?{ ??

?

????????????e.printStackTrace(); ??

?

????????}?finally?{ ??

?

????????????try?{ ??

?

????????????????is.close(); ??

?

????????????}?catch?(IOException?e)?{ ??

?

????????????????e.printStackTrace(); ??

?

????????????} ??

?

????????} ??

?

? ??

?

????????return?sb.toString(); ??

?

????} ??

?

?

?

方法2:

?

public?? String?? inputStream2String?? (InputStream?? in)?? throws?? IOException?? {
??????? StringBuffer?? out?? =?? new?? StringBuffer();
??????? byte[]?? b?? =?? new?? byte[4096];
??????? for?? (int?? n;?? (n?? =?? in.read(b))?? !=?? -1;)?? {
??????????????? out.append(new?? String(b,?? 0,?? n));
??????? }
??????? return?? out.toString();
}?

?

方法3:
public?? static?? String?? inputStream2String(InputStream?? is)?? throws?? IOException{
??????? ByteArrayOutputStream?? baos?? =?? new?? ByteArrayOutputStream();
??????? int?? i=-1;
??????? while((i=is.read())!=-1){
??????? baos.write(i);
??????? }
?????? return?? baos.toString();
}

?

热点排行