GCSFileDownloaderBase

public class GCSFileDownloaderBase
extends GCSCommon

java.lang.Object
   ↳ com.android.tradefed.util.gcs.GCSCommon
     ↳ com.android.tradefed.util.gcs.GCSFileDownloaderBase


檔案下載器,可從 Google Cloud Storage (GCS) 下載檔案。

摘要

常數

String GCS_APPROX_PREFIX

String GCS_PREFIX

欄位

protected Boolean mCreateEmptyFile

公用建構函式

GCSFileDownloaderBase()
GCSFileDownloaderBase(Boolean createEmptyFile)

公用方法

static File createTempFileForRemote(String remoteFilePath, File rootDir)

在暫時磁碟上建立獨一無二的檔案,用來存放指定路徑的下載檔案。

InputStream downloadFile(String bucketName, String filename)

從 GCS bucket 檔案下載檔案。

void downloadFile(String remotePath, File destFile)
File downloadFile(String remoteFilePath)
StorageObject getRemoteFileMetaData(String bucketName, String remoteFilename)
boolean isRemoteFolder(String bucketName, String filename)

檢查指定檔案名稱是否為資料夾。

String sanitizeDirectoryName(String name)

受保護的方法

File createTempFile(String remoteFilePath, File rootDir)
void downloadFile(String bucketName, String remoteFilename, File localFile)
Storage getStorage()
void listRemoteFilesUnderFolder(String bucketName, String folder, subFiles, subFolders)
String[] parseGcsPath(String remotePath)

常數

GCS_APPROX_PREFIX

public static final String GCS_APPROX_PREFIX

常數值: "gs:/"

GCS_PREFIX

public static final String GCS_PREFIX

常數值: "gs://"

欄位

mCreateEmptyFile

protected Boolean mCreateEmptyFile

公用建構函式

GCSFileDownloaderBase

public GCSFileDownloaderBase ()

GCSFileDownloaderBase

public GCSFileDownloaderBase (Boolean createEmptyFile)

參數
createEmptyFile Boolean

公用方法

createTempFileForRemote

public static File createTempFileForRemote (String remoteFilePath, 
                File rootDir)

在暫時磁碟上建立獨一無二的檔案,用來存放指定路徑的下載檔案。

根據路徑中的基本檔案名稱建構檔案名稱

參數
remoteFilePath String:用來建構名稱的遠端路徑

rootDir File

傳回
File

downloadFile

public InputStream downloadFile (String bucketName, 
                String filename)

從 GCS bucket 檔案下載檔案。

參數
bucketName String:GCS bucket 名稱

filename String:檔案名稱

傳回
InputStream ERROR(/InputStream) 檔案內容。

downloadFile

public void downloadFile (String remotePath, 
                File destFile)

參數
remotePath String

destFile File

downloadFile

public File downloadFile (String remoteFilePath)

參數
remoteFilePath String

傳回
File

getRemoteFileMetaData

public StorageObject getRemoteFileMetaData (String bucketName, 
                String remoteFilename)

參數
bucketName String

remoteFilename String

傳回
StorageObject

isRemoteFolder

public boolean isRemoteFolder (String bucketName, 
                String filename)

檢查指定檔案名稱是否為資料夾。

gcs 中有 2 種資料夾:1. 透過使用者介面明確建立。資料夾是大小為 0 的文字檔 (屬於物件)。2. 上傳檔案時,系統會建立所有父項資料夾,但這些資料夾在 GCS 中不存在 (不是物件)。這兩種情況都適用這個函式。但我們不應嘗試下載大小為 0 的資料夾。

參數
bucketName String:是 GCS bucket 名稱。

filename String:是值區的相對路徑。

傳回
boolean 如果檔案名稱是資料夾,則為 true,否則為 false。

sanitizeDirectoryName

public String sanitizeDirectoryName (String name)

參數
name String

傳回
String

受保護的方法

createTempFile

protected File createTempFile (String remoteFilePath, 
                File rootDir)

參數
remoteFilePath String

rootDir File

傳回
File

downloadFile

protected void downloadFile (String bucketName, 
                String remoteFilename, 
                File localFile)

參數
bucketName String

remoteFilename String

localFile File

getStorage

protected Storage getStorage ()

傳回
Storage

listRemoteFilesUnderFolder

protected void listRemoteFilesUnderFolder (String bucketName, 
                String folder, 
                 subFiles, 
                 subFolders)

參數
bucketName String

folder String

subFiles

subFolders

parseGcsPath

protected String[] parseGcsPath (String remotePath)

參數
remotePath String

傳回
String[]