我的Android应用程序下载~50 MB的数据 - 2500个文件。我想检查文件是否丢失。一个想法是创建一个包含文件所有路径的List,然后检查每个文件if(File.exists())..
但这将导致2500次检查是否存在...
这有更好的方法吗?感谢。
答案 0 :(得分:0)
您可以使用
列出所有文件File[] files = mFolder.listFiles();
和
int totalFiles = files.length;
如果大小与您期望的大小不符,那么您将不得不遍历所有大小,否则继续您的应用程序。
答案 1 :(得分:0)
即使您想要检查所有预期文件是否存在,但仍无法保证其内容状态良好。例如,文件都可以为空。
更好的解决方案是将文件压缩到服务器上的存档中,然后计算存档文件的哈希摘要。有关如何在Java中执行此操作的信息,请参阅MessageDigest JavaDoc。
下载存档文件后,您可以在客户端重新计算摘要,并与服务器的版本进行比较,以确认存档已正确下载并保持未损坏。