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

【BUG解决】android上载解析XML~出现NUL与乱码的解决办法

2012-09-07 
【BUG解决】android下载解析XML~出现NUL与乱码的解决方法!http://androiddada.iteye.com/?我在做一个项目时

【BUG解决】android下载解析XML~出现NUL与乱码的解决方法!

http://androiddada.iteye.com/

?

我在做一个项目时发现:

当我用常用的下载方法 下载xml到sd卡中 然后读取xml解析时 总是有如下异常:


【BUG解决】android上载解析XML~出现NUL与乱码的解决办法

但程序仍能运行 只是xml解析后的条数变少了 我觉得应该是解析过程中遇到了不能解析的字符

但检查服务器端的xml并未发现错误 (我还曾一度认为是网络不佳导致的,现在想象真是可笑的误区)

之后我检查了下载到本地sd卡的xml文件,用notepad打开后 错误发现了:


【BUG解决】android上载解析XML~出现NUL与乱码的解决办法
?经过百度 谷歌 的各种搜素也未找到缘由

我开始认为是我的下载与写入sd 的方法有问题

但是从论坛或是文章中 看到很多下载文件与写入的方法都是这样的:

?

?

byte buffer[] = new byte[1024];int bufferLength = 0;while ( (bufferLength = is.read(buffer)) > 0 ) {os.write(buffer, 0, bufferLength);}

?便解决了 上述问题

我是个菜鸟 如果说原因我只能猜测 可能是错误的写法每次写入固定1024的长度

而换用有bufferLength的方法write 则规定了长度 避免了不足1024的用NUL代替了吧!

?

因为这个问题困扰了我3天的时间 又未在网上找到相应的解决办法?

为了方便和我一样的菜鸟 大家少走弯路 特写了这篇文章!

http://androiddada.iteye.com/

?

1 楼 hubin4 2011-11-19   我说我下的MP3听起来怎么怪怪的.

确实啊,

1.byte buffer[] = new byte[1024]; 
2.            while(is.read(buffer) != -1){ 
3.                os.write(buffer); 
4.            } 

这代码是绝对不行的. 2 楼 libo19881179 2011-11-21   hubin4 写道我说我下的MP3听起来怎么怪怪的.

确实啊,

1.byte buffer[] = new byte[1024]; 
2.            while(is.read(buffer) != -1){ 
3.                os.write(buffer); 
4.            } 

这代码是绝对不行的.
是的,我学习时看到网上有好多转帖的文章都使用的这种错误方法,误导了大家。

热点排行