FileUtil

public class FileUtil
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.FileUtil


檔案相關作業的輔助類別

摘要

巢狀類別

class FileUtil.LowDiskSpaceException

如果可用磁碟空間低於最低門檻,系統就會擲回這個例外狀況。 

常數

int FILESYSTEM_FILENAME_MAX_LENGTH

公用建構函式

FileUtil()

公用方法

static String calculateBase64Md5(File file)

計算檔案的 base64 md5 的輔助方法。

static long calculateCrc32(File file)

計算檔案 CRC-32 的輔助方法。

static String calculateMd5(File file)

計算檔案 md5 的輔助方法。

static boolean chmod(File file, String perms)
static boolean chmodGroupRW(File file)

盡可能嘗試讓指定的檔案群組可讀取及寫入。

static boolean chmodGroupRWX(File file)

盡可能嘗試讓指定檔案群組可執行、可讀取及可寫入。

static boolean chmodRWXRecursively(File file)
static void closeZip(ZipFile zipFile)

這個方法已淘汰, 已移至「ZipUtil.closeZip(ZipFile)」。

static List<File> collectJars(File dir)

傳回指定目錄中的所有 JAR 檔案

static boolean compareFileContents(File file1, File file2)

公用程式方法,用於以位元組為單位比較兩個檔案的內容。

static long convertSizeToBytes(String sizeString)

convertToReadableSize(long) 的反函數。

static IOException convertToDiskSpaceIfNeeded(IOException e)

視需要將錯誤包裝成磁碟空間錯誤。

static String convertToReadableSize(long sizeLong)

將指定檔案大小 (以位元組為單位) 轉換為 X.Y[KMGT] 格式,方便閱讀。

static void copyFile(File origFile, File destFile)

輔助方法,可將檔案內容複製到本機檔案

static File createNamedTempDir(File parentDir, String name)

Helper function to create a named directory inside a foldere.

static File createNamedTempDir(String name)

輔助函式,可在暫時資料夾中建立具名目錄。

static File createTempDir(String prefix)

輔助函式,可在系統預設的暫時檔案目錄中建立暫時目錄。

static File createTempDir(String prefix, File parentDir)

建立臨時目錄的輔助函式。

static File createTempFile(String prefix, String suffix, File parentDir)

File.createTempFile(String,String,File) 的輔助包裝函式,可稽核潛在的磁碟空間不足情況。

static File createTempFile(String prefix, String suffix)

File.createTempFile(String,String) 周圍的輔助包裝函式,可稽核潛在的磁碟空間不足情境。

static File createTempFileForRemote(String remoteFilePath, File parentDir)

輔助方法,可在暫存磁碟上建構專屬檔案,其名稱會盡可能與遠端檔案路徑提供的檔案名稱相符

static File createZip(File dir)

這個方法已淘汰, 已移至「ZipUtil.createZip(File)」。

static void createZip(File dir, File zipFile)

這個方法已淘汰, 已移至「ZipUtil.createZip(File,File)」。

static void deleteFile(File file)

嘗試刪除檔案。

static boolean ensureGroupRWX(File file)

盡力確保指定檔案群組可執行、可讀取及可寫入。

static File extractFileFromZip(ZipFile zipFile, String filePath)

這個方法已淘汰, 已移至「ZipUtil.extractFileFromZip(ZipFile,String)」。

static void extractZip(ZipFile zipFile, File destDir)

這個方法已淘汰, 已移至「ZipUtil.extractZip(ZipFile,File)」。

static File findDirectory(String dirName, File... dirs)

搜尋並傳回其他目錄中的第一個目錄 File

static Set<File> findDirsUnder(File rootDir, File relativeParent)

遞迴尋找指定 rootDir 下的所有目錄

static File findFile(File dir, String fileName)

在指定目錄中遞迴搜尋第一個具有指定名稱的檔案

static File findFile(String fileName, IAbi abi, File... dirs)

取得指定目錄中所有檔案的路徑,這些檔案的名稱符合指定篩選器,且如果 ABI 不是空值,也會依 ABI 架構篩選找到的檔案。

static Set<File> findFiles(String fileName, IAbi abi, boolean includeDirectory, File... dirs)

取得指定目錄中名稱符合指定篩選器的所有檔案,並在 ABI 不是空值時,依 ABI 架構篩選找到的檔案。

static Set<String> findFiles(File dir, String filter)

取得指定目錄中名稱符合指定篩選條件的所有檔案路徑

static Set<File> findFilesObject(File dir, String filter, boolean includeDirectory)

取得指定目錄中名稱符合指定篩選條件的所有檔案路徑

static Set<File> findFilesObject(File dir, String filter)

取得指定目錄中名稱符合指定篩選條件的所有檔案路徑

static String getBaseName(String fileName)

取得指定檔案名稱的基本名稱 (不含副檔名)。

static String getContentType(String filePath)

根據副檔名取得檔案的內容類型。

static String getExtension(String fileName)

Gets the extension for given file name.

static File getFileForPath(File parentDir, String... pathSegments)

Helper method to build a system-dependent File

static String getPath(String... pathSegments)

Helper 方法,用於建構系統相關的相對路徑

static void gzipFile(File file, File gzipFile)

這個方法已淘汰, 已移至「ZipUtil.gzipFile(File,File)」。

static void hardlinkFile(File origFile, File destFile)

將檔案硬連結至另一個檔案的輔助方法。

static void hardlinkFile(File origFile, File destFile, boolean ignoreExistingFile)

將檔案硬連結至另一個檔案的輔助方法。

static boolean isDiskSpaceError(String message)

如果訊息是磁碟空間錯誤,則傳回 true。

static boolean mkdirsRWX(File file)

這個方法會建立一系列目錄,並在建立時呼叫 chmodGroupRWX(File),將所有目錄設為可供群組執行/讀取/寫入。

static String readStringFromFile(File sourceFile, long startOffset, long length)

從檔案讀取部分字串資料的輔助方法

static String readStringFromFile(File sourceFile)

從檔案讀取字串資料的輔助方法

static void recursiveCopy(File sourceDir, File destDir)

遞迴複製資料夾內容。

static void recursiveDelete(File rootDir)

Recursively delete given file or directory and all its contents.

static void recursiveHardlink(File sourceDir, File destDir)

以遞迴方式硬連結資料夾內容。

static void recursiveHardlink(File sourceDir, File destDir, boolean ignoreExistingFile)

以遞迴方式硬連結資料夾內容。

static void recursiveSymlink(File sourceDir, File destDir)

以遞迴方式建立資料夾內容的符號連結。

static File saveResourceFile(InputStream resourceStream, File destDir, String targetFileName)

將資源檔案儲存至目錄。

static void setReadableRecursive(File file)

為指定檔案遞迴設定讀取和執行 (如果是資料夾) 權限。

static Long sizeOfDirectory(File directory)

傳回目錄回報的大小。

static void symlinkFile(File origFile, File destFile)

將檔案符號連結至其他檔案的輔助方法

static Set<PosixFilePermission> unixModeToPosix(int mode)

將代表 Unix 模式的整數轉換為一組 PosixFilePermission

static void writeToFile(String inputString, File destFile)

將字串資料寫入檔案的輔助方法

static void writeToFile(InputStream input, File destFile, boolean append)

將串流資料寫入檔案的輔助方法

static void writeToFile(InputStream input, File destFile)

將串流資料寫入檔案的輔助方法

static void writeToFile(String inputString, File destFile, boolean append)

將字串資料寫入或附加至檔案的輔助方法

static void writeToFile(InputStream input, File destFile, boolean append, long startOffset, long size)

將串流資料寫入檔案的輔助方法

受保護的方法

static boolean chmodExists()

Internal helper to determine if 'chmod' is available on the system OS.

static void setChmodBinary(String chmodName)

公開測試。

常數

FILESYSTEM_FILENAME_MAX_LENGTH

public static final int FILESYSTEM_FILENAME_MAX_LENGTH

常數值: 255 (0x000000ff)

公用建構函式

FileUtil

public FileUtil ()

公用方法

calculateBase64Md5

public static String calculateBase64Md5 (File file)

計算檔案的 base64 md5 的輔助方法。

傳回
String 檔案的 MD5

calculateCrc32

public static long calculateCrc32 (File file)

計算檔案 CRC-32 的輔助方法。

傳回
long 檔案的 CRC-32

擲回
java.io.IOException
IOException

calculateMd5

public static String calculateMd5 (File file)

計算檔案 MD5 的輔助方法。

傳回
String 檔案的 MD5

chmod

public static boolean chmod (File file, 
                String perms)

參數
file File

perms String

傳回
boolean

chmodGroupRW

public static boolean chmodGroupRW (File file)

盡可能嘗試讓指定的檔案群組可讀取及寫入。

請注意,您必須具備執行權限,才能存取目錄。請參閱 chmodGroupRWX(File)

如果基礎作業系統不支援「chmod」系統指令,系統會將檔案設為可供所有人寫入。

參數
file FileFile,讓擁有者和群組可寫入

傳回
boolean 如果檔案已成功設為群組可寫入,則為 true,否則為 false

chmodGroupRWX

public static boolean chmodGroupRWX (File file)

盡可能嘗試讓指定檔案群組可執行、可讀取及可寫入。

如果基礎作業系統不支援「chmod」系統指令,系統會嘗試為所有使用者設定權限。

參數
file FileFile,讓擁有者和群組可寫入

傳回
boolean 如果權限設定成功,則為 true,否則為 false

chmodRWXRecursively

public static boolean chmodRWXRecursively (File file)

參數
file File

傳回
boolean

closeZip

public static void closeZip (ZipFile zipFile)

這個方法已淘汰。
已移至 ZipUtil.closeZip(ZipFile)

關閉開啟的 ZipFile,忽略任何例外狀況。

參數
zipFile ZipFile:要關閉的檔案

collectJars

public static List<File> collectJars (File dir)

傳回指定目錄中的所有 JAR 檔案

參數
dir File

傳回
List<File>

compareFileContents

public static boolean compareFileContents (File file1, 
                File file2)

公用程式方法,可逐位元組比較兩個檔案的內容。

參數
file1 File

file2 File

傳回
boolean true 檔案內容相同

擲回
IOException

convertSizeToBytes

public static long convertSizeToBytes (String sizeString)

convertToReadableSize(long) 的反函數。將 convertToReadableSize(long) 中所述的可讀取格式轉換為位元組值。

參數
sizeString String:尺寸的字串說明。

傳回
long 大小 (以位元組為單位)

擲回
IllegalArgumentException 如果無法辨識尺寸

convertToDiskSpaceIfNeeded

public static IOException convertToDiskSpaceIfNeeded (IOException e)

視需要將錯誤包裝成磁碟空間錯誤。

參數
e IOException

傳回
IOException

convertToReadableSize

public static String convertToReadableSize (long sizeLong)

將指定檔案大小 (以位元組為單位) 轉換為 X.Y[KMGT] 格式,方便閱讀。

參數
sizeLong long:檔案大小 (以位元組為單位)

傳回
String 檔案大小的說明字串

copyFile

public static void copyFile (File origFile, 
                File destFile)

將檔案內容複製到本機檔案的輔助方法

參數
origFile File:要複製的原始檔案

destFile File:目的地檔案

擲回
IOException 如果無法複製檔案

createNamedTempDir

public static File createNamedTempDir (File parentDir, 
                String name)

輔助函式,可在資料夾內建立具名目錄。

這個目錄的名稱不會隨機產生。如果該目錄已存在,系統會傳回該目錄。

參數
parentDir File:要建立目錄的目錄。如果為空值,則會位於 /tmp

name String:要在上層資料夾中建立的目錄名稱

傳回
File 建立的目錄

擲回
IOException

createNamedTempDir

public static File createNamedTempDir (String name)

輔助函式,可在暫時資料夾中建立具名目錄。

這個目錄的名稱不會隨機產生。如果該目錄已存在,系統會傳回該目錄。

參數
name String:要在 tmp 資料夾中建立的目錄名稱。

傳回
File 建立的目錄

擲回
IOException

createTempDir

public static File createTempDir (String prefix)

輔助函式,可在系統預設的暫時檔案目錄中建立暫時目錄。

參數
prefix String:用於產生檔案名稱的前置字串,長度不得少於三個字元

傳回
File 建立的目錄

擲回
IOException 如果無法建立檔案

createTempDir

public static File createTempDir (String prefix, 
                File parentDir)

建立暫時目錄的輔助函式。

參數
prefix String:用於產生檔案名稱的前置字串,長度不得少於三個字元

parentDir File:要建立目錄的父項目錄。如果未設定,系統會使用預設的暫存目錄。null

傳回
File 建立的目錄

擲回
IOException 如果無法建立檔案

createTempFile

public static File createTempFile (String prefix, 
                String suffix, 
                File parentDir)

File.createTempFile(String,String,File) 的輔助包裝函式,可稽核潛在的磁碟空間不足情況。

參數
prefix String

suffix String

parentDir File

傳回
File

擲回
FileUtil.LowDiskSpaceException 如果磁碟分割區的空間低於允許的下限
IOException

createTempFile

public static File createTempFile (String prefix, 
                String suffix)

File.createTempFile(String,String) 周圍的輔助包裝函式,可稽核潛在的磁碟空間不足情境。

參數
prefix String

suffix String

傳回
File

擲回
FileUtil.LowDiskSpaceException 如果臨時分區的磁碟空間低於允許的下限
IOException

createTempFileForRemote

public static File createTempFileForRemote (String remoteFilePath, 
                File parentDir)

輔助方法,可在暫時磁碟上建構專屬檔案,其名稱會盡可能與遠端檔案路徑提供的檔案名稱相符

參數
remoteFilePath String:以「/」分隔的遠端路徑,用於建構名稱

parentDir File:要在其中建立檔案的父項目錄。null 使用預設暫存目錄

傳回
File

擲回
IOException

createZip

public static File createZip (File dir)

這個方法已淘汰。
已移至 ZipUtil.createZip(File)

公用方法,用於建立包含指定目錄及其所有內容的暫時性 ZIP 檔案。

參數
dir File:要壓縮的目錄

傳回
File 暫時性 ZIP File,內含目錄內容

擲回
IOException 如果無法建立 ZIP 檔案

createZip

public static void createZip (File dir, 
                File zipFile)

這個方法已淘汰。
已移至 ZipUtil.createZip(File,File)

公用程式方法,用於建立包含指定目錄及其所有內容的 ZIP 檔案。

參數
dir File:要壓縮的目錄

zipFile File:要建立的 ZIP 檔案,這個檔案不應已存在

擲回
IOException 如果無法建立 ZIP 檔案

deleteFile

public static void deleteFile (File file)

嘗試刪除檔案。適用於清除 finally 節中的內容。

參數
file File:可能為空值。

ensureGroupRWX

public static boolean ensureGroupRWX (File file)

盡力確保指定檔案群組可執行、可讀取及可寫入。

如果基礎作業系統不支援「chmod」系統指令,系統會嘗試為所有使用者設定權限。這項作業會同步處理,避免因從快取存取檔案 (例如 GCSFileDownloader) 而導致競爭狀況。

參數
file FileFile,讓擁有者和群組可寫入

傳回
boolean 如果權限設定成功,則為 true,否則為 false

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

這個方法已淘汰。
已移至 ZipUtil.extractFileFromZip(ZipFile,String)

公用程式方法,可將 ZIP 檔案中的特定檔案解壓縮至暫時檔案

參數
zipFile ZipFile:要擷取的 ZipFile

filePath String:要解壓縮的 filePath

傳回
File File,如果找不到則為空值

擲回
IOException 如果無法解壓縮檔案

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

這個方法已淘汰。
已移至 ZipUtil.extractZip(ZipFile,File)

公用程式方法,可將 ZIP 檔案的完整內容解壓縮至指定目錄

參數
zipFile ZipFile:要擷取的 ZipFile

destDir File:要將檔案解壓縮至的本機目錄

擲回
IOException 如果無法解壓縮檔案

findDirectory

public static File findDirectory (String dirName, 
                File... dirs)

搜尋並傳回其他目錄中的第一個目錄 File

參數
dirName String:我們要尋找的目錄名稱。

dirs File:我們要搜尋的目錄清單。

傳回
File 找到的目錄,或 Null (如果找不到)。File

擲回
java.io.IOException
IOException

findDirsUnder

public static Set<File> findDirsUnder (File rootDir, 
                File relativeParent)

遞迴尋找指定 rootDir 下的所有目錄

參數
rootDir File:要搜尋的根目錄

relativeParent File:所有傳回的 File 的選用父項。如未指定,所有 File 都會與 rootDir 相關。

傳回
Set<File> 一組 File,代表 rootDir 下的所有目錄,包括 rootDir 本身。如果 rootDir 為空值,則會傳回空集合。

findFile

public static File findFile (File dir, 
                String fileName)

遞迴搜尋指定目錄中第一個具有指定名稱的檔案

參數
dir File:要搜尋的目錄

fileName String:要搜尋的檔案名稱

傳回
File 如果找不到,則為 Filenull

findFile

public static File findFile (String fileName, 
                IAbi abi, 
                File... dirs)

取得指定目錄中所有檔案的路徑,這些檔案的名稱符合指定篩選器,且如果 ABI 不是空值,也會依 ABI 架構篩選找到的檔案。傳回找到的第一個相符檔案。

參數
fileName String:要比對檔案路徑的規則運算式 String

abi IAbi:要與目標相符的 ABI IAbi 物件

dirs File:要搜尋檔案的目錄 File 物件的 varargs 陣列

傳回
File 如果找不到,則為 Filenull

擲回
IOException

findFiles

public static Set<File> findFiles (String fileName, 
                IAbi abi, 
                boolean includeDirectory, 
                File... dirs)

取得指定目錄中名稱符合指定篩選器的所有檔案,並在 ABI 不是空值時,依 ABI 架構篩選找到的檔案。

參數
fileName String:要比對檔案路徑的規則運算式 String

abi IAbi:要與目標相符的 ABI IAbi 物件

includeDirectory boolean:是否要在搜尋結果中加入目錄

dirs File:要搜尋檔案的目錄 File 物件陣列

傳回
Set<File> 一組 File,如果找不到則為空白

擲回
IOException

findFiles

public static Set<String> findFiles (File dir, 
                String filter)

取得指定目錄中,名稱符合指定篩選條件的所有檔案路徑

參數
dir File:要以遞迴方式搜尋檔案的目錄 File 物件

filter String:用於比對檔案名稱的規則運算式 String

傳回
Set<String> 一組檔案路徑 String

擲回
IOException

findFilesObject

public static Set<File> findFilesObject (File dir, 
                String filter, 
                boolean includeDirectory)

取得指定目錄中,名稱符合指定篩選條件的所有檔案路徑

參數
dir File:要以遞迴方式搜尋檔案的目錄 File 物件

filter String:用於比對檔案名稱的規則運算式 String

includeDirectory boolean:是否要在搜尋結果中加入目錄

傳回
Set<File> 一組檔案物件的 File。@請參閱 findFiles(File,String)

擲回
IOException

findFilesObject

public static Set<File> findFilesObject (File dir, 
                String filter)

取得指定目錄中,名稱符合指定篩選條件的所有檔案路徑

參數
dir File:要以遞迴方式搜尋檔案的目錄 File 物件

filter String:用於比對檔案名稱的規則運算式 String

傳回
Set<File> 一組檔案物件的 File。@請參閱 findFiles(File,String)

擲回
IOException

getBaseName

public static String getBaseName (String fileName)

取得指定檔案名稱的基本名稱 (不含副檔名)。

例如,getBaseName("file.txt") 會傳回「file」

傳回
String 基本名稱

getContentType

public static String getContentType (String filePath)

根據副檔名取得檔案的內容類型。

參數
filePath String:檔案路徑

傳回
String 內容類型

getExtension

public static String getExtension (String fileName)

取得指定檔案名稱的副檔名。

傳回
String 副檔名,如果檔案沒有副檔名,則為空字串

getFileForPath

public static File getFileForPath (File parentDir, 
                String... pathSegments)

建構系統專屬 File 的輔助方法

參數
parentDir File:要使用的父項目錄。

pathSegments String:要使用的相對路徑區隔

傳回
File 代表指定路徑,每個 pathSegment 都以 File.separatorChar 分隔File

getPath

public static String getPath (String... pathSegments)

用來建構系統相關相對路徑的輔助方法

參數
pathSegments String:要使用的相對路徑區隔

傳回
String 代表指定路徑,每個 pathSegment 都以 File.separatorChar 分隔String

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

這個方法已淘汰。
已移至 ZipUtil.gzipFile(File,File)

建立單一檔案的 gzip 壓縮版本。

參數
file File:原始檔案

gzipFile File:要放置壓縮內容的檔案

擲回
java.io.IOException
IOException

hardlinkFile

public static void hardlinkFile (File origFile, 
                File destFile)

將檔案硬連結至另一個檔案的輔助方法。如果發生跨分割區連結,則改為複製。

參數
origFile File:原始檔案

destFile File:目的地檔案

擲回
IOException if failed to hardlink file

hardlinkFile

public static void hardlinkFile (File origFile, 
                File destFile, 
                boolean ignoreExistingFile)

將檔案硬連結至另一個檔案的輔助方法。如果發生跨分割區連結,則改為複製。

參數
origFile File:原始檔案

destFile File:目的地檔案

ignoreExistingFile boolean:如果為 True,且要連結的檔案已存在,則略過例外狀況。

擲回
IOException if failed to hardlink file

isDiskSpaceError

public static boolean isDiskSpaceError (String message)

如果訊息是磁碟空間錯誤,則傳回 true。

參數
message String

傳回
boolean

mkdirsRWX

public static boolean mkdirsRWX (File file)

這個方法會建立一系列目錄,並在建立時呼叫 chmodGroupRWX(File),將所有目錄設為可供群組執行/讀取/寫入。基本上是 File.mkdirs() 的版本,也會執行 chmod(File,String)

參數
file File:要建立的目錄名稱,可能包含尚未存在的目錄。

傳回
boolean 如果 file 存在且為目錄,則為 true,否則為 false

readStringFromFile

public static String readStringFromFile (File sourceFile, 
                long startOffset, 
                long length)

從檔案讀取部分字串資料的輔助方法

參數
sourceFile File:要讀取的檔案

startOffset long:要從檔案讀取的起始位移。

length long:要讀取的檔案位元組數。

傳回
String

擲回
FileNotFoundException
java.io.IOException
IOException

readStringFromFile

public static String readStringFromFile (File sourceFile)

從檔案讀取字串資料的輔助方法

參數
sourceFile File:要讀取的檔案

傳回
String

擲回
FileNotFoundException
java.io.IOException
IOException

recursiveCopy

public static void recursiveCopy (File sourceDir, 
                File destDir)

遞迴複製資料夾內容。

僅支援複製檔案和目錄,不支援複製符號連結。如果目的地目錄不存在,系統會建立該目錄。

參數
sourceDir File:包含要複製檔案的資料夾

destDir File:目的地資料夾

擲回
java.io.IOException
IOException

recursiveDelete

public static void recursiveDelete (File rootDir)

以遞迴方式刪除指定檔案或目錄及其所有內容。

參數
rootDir File:要刪除的目錄或檔案,可為空值

recursiveHardlink

public static void recursiveHardlink (File sourceDir, 
                File destDir)

以遞迴方式硬連結資料夾內容。

僅支援複製檔案和目錄,不支援複製符號連結。如果目的地目錄不存在,系統會建立該目錄。

參數
sourceDir File:包含要複製檔案的資料夾

destDir File:目的地資料夾

擲回
java.io.IOException
IOException

recursiveHardlink

public static void recursiveHardlink (File sourceDir, 
                File destDir, 
                boolean ignoreExistingFile)

以遞迴方式硬連結資料夾內容。

僅支援複製檔案和目錄,不支援複製符號連結。如果目的地目錄不存在,系統會建立該目錄。

參數
sourceDir File:包含要複製檔案的資料夾

destDir File:目的地資料夾

ignoreExistingFile boolean:如果為 True,且要連結的檔案已存在,則略過例外狀況。

擲回
java.io.IOException
IOException

recursiveSymlink

public static void recursiveSymlink (File sourceDir, 
                File destDir)

以遞迴方式建立資料夾內容的符號連結。

僅支援複製檔案和目錄,不支援複製符號連結。如果目的地目錄不存在,系統會建立該目錄。

參數
sourceDir File:包含要複製檔案的資料夾

destDir File:目的地資料夾

擲回
java.io.IOException
IOException

saveResourceFile

public static File saveResourceFile (InputStream resourceStream, 
                File destDir, 
                String targetFileName)

將資源檔案儲存至目錄。

參數
resourceStream InputStream:要儲存的資源的 {link InputStream} 物件。

destDir File:資源檔案將儲存到的目錄 File 物件。

targetFileName String:要儲存檔案的名稱 (String)。

傳回
File 已儲存檔案的 File 物件。

擲回
IOException 如果檔案無法儲存。

setReadableRecursive

public static void setReadableRecursive (File file)

為指定檔案遞迴設定讀取和執行 (如果是資料夾) 權限。

參數
file File

sizeOfDirectory

public static Long sizeOfDirectory (File directory)

傳回目錄回報的大小。

參數
directory File

傳回
Long

symlinkFile

public static void symlinkFile (File origFile, 
                File destFile)

將檔案符號連結至其他檔案的輔助方法

參數
origFile File:原始檔案

destFile File:目的地檔案

擲回
IOException if failed to symlink file

unixModeToPosix

public static Set<PosixFilePermission> unixModeToPosix (int mode)

將代表 Unix 模式的整數轉換為一組 PosixFilePermission

參數
mode int

傳回
Set<PosixFilePermission>

writeToFile

public static void writeToFile (String inputString, 
                File destFile)

將字串資料寫入檔案的輔助方法

參數
inputString String:輸入 String

destFile File:要寫入的目標檔案

擲回
IOException

writeToFile

public static void writeToFile (InputStream input, 
                File destFile, 
                boolean append)

將串流資料寫入檔案的輔助方法

參數
input InputStream:未緩衝的輸入串流

destFile File:要寫入或附加內容的目的地檔案

append boolean:如果為 true,則附加至檔案結尾,否則會覆寫檔案

擲回
IOException

writeToFile

public static void writeToFile (InputStream input, 
                File destFile)

將串流資料寫入檔案的輔助方法

參數
input InputStream:未緩衝的輸入串流

destFile File:要寫入的目標檔案

擲回
IOException

writeToFile

public static void writeToFile (String inputString, 
                File destFile, 
                boolean append)

將字串資料寫入或附加至檔案的輔助方法

參數
inputString String:輸入 String

destFile File:要寫入或附加內容的目的地檔案

append boolean:如果為 true,則附加至檔案結尾,否則會覆寫檔案

擲回
IOException

writeToFile

public static void writeToFile (InputStream input, 
                File destFile, 
                boolean append, 
                long startOffset, 
                long size)

將串流資料寫入檔案的輔助方法

參數
input InputStream:未緩衝的輸入串流

destFile File:要寫入或附加內容的目的地檔案

append boolean:如果為 true,則附加至檔案結尾,否則會覆寫檔案

startOffset long:要擷取資料的輸入串流開始偏移

size long:要從輸入串流擷取的位元組數,請將其設為負值,從指定偏移擷取所有內容。

擲回
IOException

受保護的方法

chmodExists

protected static boolean chmodExists ()

Internal helper to determine if 'chmod' is available on the system OS.

傳回
boolean

setChmodBinary

protected static void setChmodBinary (String chmodName)

公開測試。允許修改我們尋找的 chmod 二進位檔名稱,以便測試不支援 chmod 的系統。

參數
chmodName String