我来说几个可能的原因吧:
1、你的SD卡本身是扩容卡,读取文件分区时得到的信息很有可能是错误的。
2、你说文件大了不能获得真实长度,那么具体是多大呢?会不会是分区格式的原因?
3、数据读取不全,这个看起来原因可能很多,比如读取速率过高、本身文件已损坏、卡的质量不行。。。
获取SD卡总容量和文件大小方面是错的,应该是卡有问题,或者不兼容等,往后的操作都是不确定的不可靠的。就算对也不是保证一定对的。