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 ()

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

下载

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

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

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

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

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

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

抛出
BuildRetrievalError 如果无法下载文件

下载

public abstract void downloadFile (String relativeRemotePath, 
                File destFile)

downloadFile(String) 的替代形式,允许调用方指定 目标文件。

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

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

抛出
BuildRetrievalError 如果无法下载文件

下载

public abstract File downloadFile (String remoteFilePath)

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

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

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

抛出
BuildRetrievalError 如果无法下载文件

下载 ZippedFiles

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

以远程 ZIP 文件形式下载符合指定过滤条件的文件。

远程 zip 文件中的文件只会下载到与任何 包含过滤器,但不包含排除过滤器。

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

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

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

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

抛出
BuildRetrievalError 如果无法下载文件。
IOException

新鲜出炉

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 ()

如果系统支持并发限制,请发放下载许可。