IFileDownloader
public
interface
IFileDownloader
com.android.tradefed.build.IFileDownloader |
用于下载远程文件的接口。
摘要
公共方法 | |
---|---|
default
void
|
acquireDownloadPermit()
如果支持并发限制,请取得下载许可。 |
default
void
|
downloadFile(String remoteFilePath, File destFile, long startOffset, long size)
|
abstract
void
|
downloadFile(String relativeRemotePath, File destFile)
|
abstract
File
|
downloadFile(String remoteFilePath)
将远程文件下载到本地磁盘上的临时文件中。 |
default
void
|
downloadZippedFiles(File destDir, String remoteFilePath,
以远程 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 ()
如果系统支持并发限制,请发放下载许可。