FileDownloadCacheWrapper

public class FileDownloadCacheWrapper
extends Object implements IFileDownloader

java.lang.Object
com.android.tradefed.build.FileDownloadCacheWrapper


一个封装容器类,用于提供 FileDownloadCache 功能,同时实现 IFileDownloader 接口。

适用于您想要从调用方抽象缓存使用的情况。

摘要

公共构造函数

FileDownloadCacheWrapper(File cacheDir, IFileDownloader delegateDownloader)

公共方法

void downloadFile(String remoteFilePath, File destFile)

downloadFile(String) 的替代形式,允许调用方指定应将远程内容放置在哪个目标文件中。

File downloadFile(String remoteFilePath)

将远程文件下载到本地磁盘上的临时文件。

void downloadZippedFiles(File destDir, String remoteFilePath, List<String> includeFilters, List<String> excludeFilters)

下载远程 zip 文件中与给定过滤器匹配的文件。

boolean isFresh(File localFile, String remoteFilePath)

检查本地文件的新鲜度。

公共构造函数

FileDownloadCacheWrapper

public FileDownloadCacheWrapper (File cacheDir, 
                IFileDownloader delegateDownloader)

参数
cacheDir File

delegateDownloader IFileDownloader

公共方法

downloadFile

public void downloadFile (String remoteFilePath, 
                File destFile)

downloadFile(String) 的替代形式,允许调用方指定应将远程内容放置在哪个 目标文件中。

参数
remoteFilePath String:要下载的文件的远程路径,相对于实现特定的根目录。

destFile File:用于放置下载内容的文件。不应存在。

抛出
BuildRetrievalError

downloadFile

public File downloadFile (String remoteFilePath)

将远程文件下载到本地磁盘上的临时文件。

参数
remoteFilePath String:要下载的文件的远程路径,相对于实现 特定的根目录。

返回
File 临时本地下载的 File

抛出
BuildRetrievalError

downloadZippedFiles

public void downloadZippedFiles (File destDir, 
                String remoteFilePath, 
                List<String> includeFilters, 
                List<String> excludeFilters)

下载远程 zip 文件中与给定过滤器匹配的文件。

只有当远程 zip 文件中的文件的路径与任何 包含过滤器匹配,但不与排除过滤器匹配时,该文件才会被下载。

参数
destDir File:用于放置下载内容的文件。

remoteFilePath String:要下载的文件的远程路径,相对于实现 特定的根目录。

includeFilters List:用于下载匹配文件的过滤器列表。

excludeFilters List:用于跳过下载匹配文件的过滤器列表。

抛出
BuildRetrievalError
IOException

isFresh

public boolean isFresh (File localFile, 
                String remoteFilePath)

检查本地文件的新鲜度。如果本地文件与远程文件相同,则本地文件是新鲜的。否则,本地文件已过时。这主要用于缓存。默认实现将 始终返回 true,因此如果文件是不可变的,则永远不需要检查新鲜度。

参数
localFile File:本地文件。

remoteFilePath String:远程文件路径。

返回
boolean 如果本地文件是新鲜的,则返回 true,否则返回 false。

抛出
BuildRetrievalError