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

如果支援並行限制,請釋出下載許可。

公用方法

取得下載許可

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

發布下載許可

public void releaseDownloadPermit ()

如果支援並行限制,請釋出下載許可。