Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.
         
       
     
  
  
  
  
  
    
    
      
    
    
      
      Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
  
  
    
    
  
  
GCSFileDownloaderBase
  public
  
  
  
  class
  GCSFileDownloaderBase
  
  
  
  
    extends GCSCommon
  
  
  
  
  
  
  
  
  
    
  File downloader to download file from google cloud storage (GCS).
Summary
| Public methods | 
|---|
  
  
  
    | 
        
        
        static
        
        
        File | 
      createTempFileForRemote(String remoteFilePath, File rootDir)
      Creates a unique file on temporary disk to house downloaded file with given path.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        InputStream | 
      downloadFile(String bucketName, String filename)
      Download a file from a GCS bucket file.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      downloadFile(String remotePath, File destFile)
       | 
  
  
  
  
    | 
        
        
        
        
        
        File | 
      downloadFile(String remoteFilePath)
       | 
  
  
  
  
    | 
        
        
        
        
        
        StorageObject | 
      getRemoteFileMetaData(String bucketName, String remoteFilename)
       | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      isRemoteFolder(String bucketName, String filename)
      Check given filename is a folder or not.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        String | 
      sanitizeDirectoryName(String name)
       | 
  
Fields
    GCS_APPROX_PREFIX
    
      
  
      
  
    
public static final String GCS_APPROX_PREFIX
    
    
    
  
    
 
    GCS_PREFIX
    
      
  
      
  
    
public static final String GCS_PREFIX
    
    
    
  
    
 
    mCreateEmptyFile
    
      
  
      
  
    
protected Boolean mCreateEmptyFile
    
    
    
  
    
 
Public constructors
    GCSFileDownloaderBase
    
public GCSFileDownloaderBase ()
    
    
    
  
 
    GCSFileDownloaderBase
    
public GCSFileDownloaderBase (Boolean createEmptyFile)
    
    
    
  
    
    | Parameters | 
|---|
      
        | createEmptyFile | Boolean | 
    
 
Public methods
    createTempFileForRemote
    
public static File createTempFileForRemote (String remoteFilePath, 
                File rootDir)
    
    
    
  Creates a unique file on temporary disk to house downloaded file with given path.
 
Constructs the file name based on base file name from path
    
    | Parameters | 
|---|
      
        | remoteFilePath | String: the remote path to construct the name from | 
      
        | rootDir | File | 
    
    
 
    downloadFile
    
public InputStream downloadFile (String bucketName, 
                String filename)
    
    
    
  Download a file from a GCS bucket file.
    
    | Parameters | 
|---|
      
        | bucketName | String: GCS bucket name | 
      
        | filename | String: the filename | 
    
    
 
    downloadFile
    
public void downloadFile (String remotePath, 
                File destFile)
    
    
    
  
    
    | Parameters | 
|---|
      
        | remotePath | String | 
      
        | destFile | File | 
    
 
    downloadFile
    
public File downloadFile (String remoteFilePath)
    
    
    
  
    
    | Parameters | 
|---|
      
        | remoteFilePath | String | 
    
    
 
    
    
public StorageObject getRemoteFileMetaData (String bucketName, 
                String remoteFilename)
    
    
    
  
    
    | Parameters | 
|---|
      
        | bucketName | String | 
      
        | remoteFilename | String | 
    
    
 
    isRemoteFolder
    
public boolean isRemoteFolder (String bucketName, 
                String filename)
    
    
    
  Check given filename is a folder or not.
 
There 2 types of folders in gcs: 1. Created explicitly from UI. The folder is a size 0
 text file (it's an object). 2. When upload a file, all its parent folders will be created,
 but these folders doesn't exist (not objects) in gcs. This function work for both cases. But
 we should not try to download the size 0 folders.
    
    | Parameters | 
|---|
      
        | bucketName | String: is the gcs bucket name. | 
      
        | filename | String: is the relative path to the bucket. | 
    
    
      | Returns | 
|---|
      
        | boolean | true if the filename is a folder, otherwise false. | 
    
 
    sanitizeDirectoryName
    
public String sanitizeDirectoryName (String name)
    
    
    
  
    
    
 
Protected methods
    createTempFile
    
protected File createTempFile (String remoteFilePath, 
                File rootDir)
    
    
    
  
    
    | Parameters | 
|---|
      
        | remoteFilePath | String | 
      
        | rootDir | File | 
    
    
 
    downloadFile
    
protected void downloadFile (String bucketName, 
                String remoteFilename, 
                File localFile)
    
    
    
  
    
    | Parameters | 
|---|
      
        | bucketName | String | 
      
        | remoteFilename | String | 
      
        | localFile | File | 
    
 
    getStorage
    
protected Storage getStorage ()
    
    
    
  
    
 
    listRemoteFilesUnderFolder
    
protected void listRemoteFilesUnderFolder (String bucketName, 
                String folder, 
                 subFiles, 
                 subFolders)
    
    
    
  
    
    | Parameters | 
|---|
      
        | bucketName | String | 
      
        | folder | String | 
      
        | subFiles |  | 
      
        | subFolders |  | 
    
 
    parseGcsPath
    
protected String[] parseGcsPath (String remotePath)
    
    
    
  
    
    | Parameters | 
|---|
      
        | remotePath | String | 
    
    
 
 
 
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2024-10-08 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-08 UTC."],[],[]]