2011年12月16日 星期五

crc驗證

當從網路下載檔案時,有時可以先檢測是否已經下載或是下載的檔案不知道正不正確時可用crc32檢測:如下

try {
            CheckedInputStream cis = null;
            cis = new CheckedInputStream(new FileInputStream(filepath), new CRC32());
            byte[] buf = new byte[128];
            while(cis.read(buf) >= 0) {
            }
    Log.d(TAG, filePath +", CRC32: "+Long.toHexString(cis.getChecksum().getValue())); 


        } catch (Exception e) {
            e.printStackTrace();
}
其中要注意的是toHexString會自動省略0開頭的0,跟平常在PC下算出來還保留0是不一樣的,必須再自行處裡。

沒有留言:

張貼留言