如何检查文件完整性

时间:2013-04-20 08:51:51

标签: php android hash integrity

我正在开发一个需要每隔几分钟下载一些文件的应用程序。

使用php,我列出所有文件,并从java中获取此列表并检查文件是否存在。 下载后,我需要检查完整性,因为有时在下载后,某些文件已损坏。

try{
    String path = ...
    URL url = new URL(path);
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);         
    conn.setReadTimeout(30000);
    is = conn.getInputStream();
    ReadableByteChannel rbc = Channels.newChannel(is);
    FileOutputStream fos = null;
    fos = new FileOutputStream(local);
    fos.getChannel().transferFrom(rbc, 0, 1 << 24);
    fos.close();
    rbc.close();
} catch (FileNotFoundException e) {
    if(new File(local).exists()) new File(local).delete();
       return false;
} catch (IOException e) {
    if(new File(local).exists()) new File(local).delete();
       return false;
} catch (IOException e) {
    if(new File(local).exists()) new File(local).delete();
       return false;
}

return false;

我可以在php和java中使用什么来检查文件的完整性?

1 个答案:

答案 0 :(得分:3)

维护checksum list on your server,下载文件generate a checksum of the downloaded file并检查它是否与服务器上的文件相同。如果是,您的文件就可以了。