IFileDownloader

public interface IFileDownloader

com.android.tradefed.build.IFileDownloader


用于下载远程文件的接口。

摘要

公共方法

default void acquireDownloadPermit()

如果支持并发限制,请获取下载许可。

default void downloadFile(String remoteFilePath, File destFile, long startOffset, long size)

downloadFile(String, File) 的替代形式,允许调用方下载文件的一部分并保存到特定目标文件。

abstract void downloadFile(String relativeRemotePath, File destFile)

downloadFile(String) 的替代形式,允许调用方指定应将远程内容放入的目的地文件。

abstract File downloadFile(String remoteFilePath)

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

default void downloadZippedFiles(File destDir, String remoteFilePath, includeFilters, excludeFilters)

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

default boolean isFresh(File localFile, String remoteFilePath)

检查本地文件的新鲜度。

default void releaseDownloadPermit()

如果支持并发限制,则释放下载许可。

公共方法

acquireDownloadPermit

public void acquireDownloadPermit ()

如果支持并发限制,请获取下载许可。

downloadFile

public void downloadFile (String remoteFilePath, 
                File destFile, 
                long startOffset, 
                long size)

downloadFile(String, File) 的替代形式,允许调用方下载文件的一部分并保存到特定目标文件。

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

destFile File:要将下载内容放入其中的文件。不应存在。

startOffset long:远程文件中的开始偏移。

size long:要从远程文件下载的字节数。将其设为负值可下载整个文件。

抛出
BuildRetrievalError 如果无法下载文件

downloadFile

public abstract void downloadFile (String relativeRemotePath, 
                File destFile)

downloadFile(String) 的替代形式,允许调用方指定应将远程内容放入的目的地文件。

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

destFile File:要将下载内容放入其中的文件。不应存在。

抛出
BuildRetrievalError 如果无法下载文件

downloadFile

public abstract File downloadFile (String remoteFilePath)

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

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

返回
File 临时本地下载的 ERROR(/File)

抛出
BuildRetrievalError 如果无法下载文件

downloadZippedFiles

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

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

远程 ZIP 文件中的文件仅会下载到其路径与任何包含过滤条件(而非排除过滤条件)匹配的位置。

参数
destDir File:要将下载内容放入其中的文件。

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

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

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

抛出
BuildRetrievalError 无法下载文件。
IOException

isFresh

public boolean isFresh (File localFile, 
                String remoteFilePath)

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

参数
localFile File:本地文件。

remoteFilePath String:远程文件路径。

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

抛出
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

releaseDownloadPermit

public void releaseDownloadPermit ()

如果支持并发限制,则发布下载许可。