Android 读取文件数据
2013-07-29 11:45
176 查看
byte[]buffer=newbyte[1024];
FileInputStreamfis=null;
try{
fis=newFileInputStream(dir+fileName);
while(fis.read(buffer,0,buffer.length)!=-1){
showInfo(buffer);
buffer=null;
buffer=newbyte[1024];
}
}catch(IOExceptione){
e.printStackTrace();
}
问题:使用上面代码进行读取数据,一开始无红色字体两行代码时,当文件超过1024B的时候,发现读取的数据并不是完整的文件数据信息,
而是会多出一些数据。
定位:通过比对数据发现多出的数据恰好是上一次读取的数据末尾部分,怀疑是再次调用fis.read(buffer,0,buffer.length)接口时,buffer
并不会自动清除,数据还是保存着上次的数据,从而导致最后获取到的数据中有上一次读取的数据。
验证:添加红色两行代码进行初始化buffer,读取数据正常。通过跟踪read源码未找到对数据初始化部分。
总结:在涉及到需要循环读取某数据时,不管接口的处理如何,最好都要对buffer进行初始化。
相关文章推荐
- Android 读取清单文件<meta-data>元素的数据
- android数据存储读取2:文件存储(对比IOS)
- Android读取assets目录下文件数据内容
- Android开发之从文件中读取数据
- Android-读取文件数据
- android app 读取本地.db文件,实现不变数据本地化(附小demo)
- Android读取Manifest文件下Application等节点下的metadata自定义数据
- Android读取Manifest文件下Application等节点下的metadata自定义数据
- android中bluedroid如何读取pcm数据,并将其写入文件中?
- Android 读取清单文件<meta-data>元素的数据
- Android入门学习笔记(一)|基础知识|文件数据存储读取|解析XML
- android 从文件制定位置读取数据
- Android - 读取JSON文件数据
- android 将数据保存到文件中&从文件中读取数据
- Android本地数据的存储和读取(文件格式)
- Android读取assets目录下文件数据内容
- Android 数据存储与读取:文件
- android 读取资源文件的数据
- Android - 读取JSON文件数据
- Android读取assets目录下文件数据内容