Android---网络交互之客户端请求服务端资源后续

昨天尝试通过网络连接将服务器资源下载到客服端,然而也发现一些问题,比如能够成功的将mp3、txt、png下载下来,但是将压缩文件(rar)下下来之后却不能解压出来。当初以为是对于android平台所不支持的文件格式就会出现这样的情况,但是同样的gif格式的图片,android同样无法打开,但是下下来之后却能够成功的打开。暂时也未能找到相关的资料说明,还望那个大牛能解释解释。

在查找相关android网络连接资料的时候,发现有很多示例:有的是以文件方式存储,有的是直接将文件内容读取出来显示。对于没熟悉的,确实感觉很困难,容易混淆都不知道看哪一个比较好。当我理清基本的概念后,我也尝试着将一些文本文件直接解析显示(txt、xml)

上一篇讲到了从网络数据流到具体文件的纽带(FileOutputStream),而我们将文件与String对比,就会使用到另外一个对象BufferedReader(从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取).

代码
   
   
InputStream is = connect.getInputStream();
InputStreamReader isr
= new InputStreamReader(is, " gbk " );
BufferedReader br
= new BufferedReader(isr);
       //可变字符串
StringBuffer sb
= new StringBuffer();
//存储一行数据(br.readLine每次读写一行 )
String readLine = null ;
while ((readLine = br.readLine()) != null ){
Log.v(
" tag " , " ------------------ " + sb.toString());
sb.append(readLine).append(
" /n " );
}
br.close();
is.close();
connect.disconnect();
showText
= new String(sb.toString().getBytes( " gbk " ), " gbk " );

这里有一个要注意的问题就是就是编码问题,这也就是为什么在android中汉字出现乱码问题的原因,我是这样理解的:因为window和linux(或java虚拟机)所使用的汉字编码是不同的,当你从windows下用gbk编码的汉字到别的平台(另外一种默认的汉字编码方式),就会出现乱码,所以 从编码到解析必须统一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stoneson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值