android中String与InputStream之间的相互转换方式
在android中我们涉及到网络访问以及文件访问时,难免需要写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 len=-1;
byte[] buffer=new byte[1024];
while((len=is.read(buffer))!=-1){
baos.write(buffer, 0, len);
}
is.close();
return baos.toString();
//return new String(baos.toByteArray());
}
1 // 引入apache的io包2 import org.apache.commons.io.IOUtils;3 4 InputStream in = con.getInputStream();5 String result = IOUtils.toString(in, "UTF-8");
更多相关文章
- android 细节收集
- 【Android基础知识】选项菜单、上下文菜单、子菜单的使用
- CountDownTimer倒计时器的使用
- 工欲善其事必先利其器-Android(安卓)Studio技巧与插件(1)
- Android(安卓)源代码编后的目录分析
- Haisi3716C (海思)源代码 编译并烧写
- android 信息(mms)的故事(五)-- 发彩信
- 总结 使用PHP作为中间介来实现android链接远程数据库。
- Android(安卓)UI之代码动态设置ImageView的宽度和高度