public static ObjectStat getFileStat( OSSObjectOperation objectOperation, String bucketName, String key) { GenericRequest genericRequest = new GenericRequest(bucketName, key); SimplifiedObjectMeta meta = objectOperation.getSimplifiedObjectMeta(genericRequest); ObjectStat objStat = new ObjectStat(); objStat.size = meta.getSize(); objStat.lastModified = meta.getLastModified(); objStat.digest = meta.getETag(); return objStat; }
/** 判读Object与checkpoint中记录的信息是否相符,即Object是否修改过 */ public synchronized boolean isValid(OSSObjectOperation objectOperation) { // 比较checkpoint的magic和md5 if (this.magic == null || !this.magic.equals(DOWNLOAD_MAGIC) || this.md5 != hashCode()) { return false; } GenericRequest genericRequest = new GenericRequest(bucketName, objectKey); SimplifiedObjectMeta meta = objectOperation.getSimplifiedObjectMeta(genericRequest); // Object的大小、最后修改时间、ETAG相同 if (this.objectStat.size != meta.getSize() || !this.objectStat.lastModified.equals(meta.getLastModified()) || !this.objectStat.digest.equals(meta.getETag())) { return false; } return true; }