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)
這個方法已淘汰,
已移至「 |
static
List<File>
|
collectJars(File dir)
傳回指定目錄中的所有 JAR 檔案 |
static
boolean
|
compareFileContents(File file1, File file2)
公用程式方法,用於以位元組為單位比較兩個檔案的內容。 |
static
long
|
convertSizeToBytes(String sizeString)
|
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)
|
static
File
|
createTempFile(String prefix, String suffix)
|
static
File
|
createTempFileForRemote(String remoteFilePath, File parentDir)
輔助方法,可在暫存磁碟上建構專屬檔案,其名稱會盡可能與遠端檔案路徑提供的檔案名稱相符 |
static
File
|
createZip(File dir)
這個方法已淘汰,
已移至「 |
static
void
|
createZip(File dir, File zipFile)
這個方法已淘汰,
已移至「 |
static
void
|
deleteFile(File file)
嘗試刪除檔案。 |
static
boolean
|
ensureGroupRWX(File file)
盡力確保指定檔案群組可執行、可讀取及可寫入。 |
static
File
|
extractFileFromZip(ZipFile zipFile, String filePath)
這個方法已淘汰,
已移至「 |
static
void
|
extractZip(ZipFile zipFile, File destDir)
這個方法已淘汰,
已移至「 |
static
File
|
findDirectory(String dirName, File... dirs)
搜尋並傳回其他目錄中的第一個目錄 |
static
Set<File>
|
findDirsUnder(File rootDir, File relativeParent)
遞迴尋找指定 |
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)
這個方法已淘汰,
已移至「 |
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)
這個方法會建立一系列目錄,並在建立時呼叫 |
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 模式的整數轉換為一組 |
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 |
File:File,讓擁有者和群組可寫入 |
| 傳回 | |
|---|---|
boolean |
如果檔案已成功設為群組可寫入,則為 true,否則為 false |
chmodGroupRWX
public static boolean chmodGroupRWX (File file)
盡可能嘗試讓指定檔案群組可執行、可讀取及可寫入。
如果基礎作業系統不支援「chmod」系統指令,系統會嘗試為所有使用者設定權限。
| 參數 | |
|---|---|
file |
File:File,讓擁有者和群組可寫入 |
| 傳回 | |
|---|---|
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 |
File:File,讓擁有者和群組可寫入 |
| 傳回 | |
|---|---|
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 |
如果找不到,則為 File 或 null |
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 |
如果找不到,則為 File 或 null |
| 擲回 | |
|---|---|
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 |