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)
用于在文件夹中创建命名目录的辅助函数。 |
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 不为 null,还会按 ABI 架构过滤找到的文件。 |
static
Set<File>
|
findFiles(String fileName, IAbi abi, boolean includeDirectory, File... dirs)
获取给定目录中名称与给定过滤条件匹配的所有文件,如果 ABI 不为 null,还会按 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)
获取指定文件名的扩展名。 |
static
File
|
getFileForPath(File parentDir, String... pathSegments)
用于构建与系统相关的 File 的辅助方法 |
static
String
|
getPath(String... pathSegments)
用于构建依赖于系统的相对路径的辅助方法 |
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)
以递归方式删除指定文件或目录及其所有内容。 |
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()
用于确定系统操作系统上是否提供“chmod”的内部辅助函数。 |
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:要创建目录的目录。如果为 null,则将在 /tmp 中创建 |
name |
String:要在父文件夹中创建的目录的名称 |
| 返回 | |
|---|---|
File |
创建的目录 |
| 抛出 | |
|---|---|
IOException |
|
createNamedTempDir
public static File createNamedTempDir (String name)
用于在临时文件夹中创建命名目录的辅助函数。
此目录的名称不会随机化。如果该目录已存在,则会返回该目录。
| 参数 | |
|---|---|
name |
String:要在临时文件夹中创建的目录的名称。 |
| 返回 | |
|---|---|
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 stanza 中的内容。
| 参数 | |
|---|---|
file |
File:可以为 null。 |
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:要提取的文件的文件路径 |
| 返回 | |
|---|---|
File |
File;如果未找到,则返回 null |
| 抛出 | |
|---|---|
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 |
找到的目录对应的 File;如果未找到,则为 Null。 |
| 抛出 | |
|---|---|
|
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 为 null,则返回空集。 |
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 不为 null,还会按 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 不为 null,还会按 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 集。@See findFiles(File,String) |
| 抛出 | |
|---|---|
IOException |
|
findFilesObject
public static Set<File> findFilesObject (File dir,
String filter)获取给定目录中名称与给定过滤条件匹配的所有文件的文件路径
| 参数 | |
|---|---|
dir |
File:要递归搜索文件的目录的 File 对象 |
filter |
String:用于匹配文件名的正则表达式的 String |
| 返回 | |
|---|---|
Set<File> |
文件对象的 File 集。@See 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 |
表示给定路径的 File,其中每个 pathSegment 都以 File.separatorChar 分隔 |
getPath
public static String getPath (String... pathSegments)
用于构建依赖于系统的相对路径的辅助方法
| 参数 | |
|---|---|
pathSegments |
String:要使用的相对路径段 |
| 返回 | |
|---|---|
String |
表示给定路径的 String,其中每个 pathSegment 都以 File.separatorChar 分隔 |
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 |
如果无法硬链接文件 |
hardlinkFile
public static void hardlinkFile (File origFile,
File destFile,
boolean ignoreExistingFile)一种将文件硬链接到另一文件的辅助方法。在跨分区链接的情况下,回退到复制。
| 参数 | |
|---|---|
origFile |
File:原始文件 |
destFile |
File:目标文件 |
ignoreExistingFile |
boolean:如果为 True 且要链接的文件已存在,则跳过异常。 |
| 抛出 | |
|---|---|
IOException |
如果无法硬链接文件 |
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:要删除的目录或文件;可以为 null |
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 |
如果无法为文件创建符号链接 |
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 ()
用于确定系统 OS 上是否提供“chmod”的内部辅助函数。
| 返回 | |
|---|---|
boolean |
|
setChmodBinary
protected static void setChmodBinary (String chmodName)
公开以供测试。允许修改我们查找的 chmod 二进制名称,以便测试不支持 chmod 的系统。
| 参数 | |
|---|---|
chmodName |
String |