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 ()
如果支持并发限制,请获取下载许可。
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 ()
如果支持并发限制,则发布下载许可。
