public class FileUtils extends Object
| Constructor and Description |
|---|
FileUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T> File |
appendLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,追加模式
|
static <T> File |
appendLines(Collection<T> list,
File file,
String charset)
将列表写入文件,追加模式
|
static <T> File |
appendLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,追加模式
|
static <T> File |
appendLines(Collection<T> list,
String path,
String charset)
将列表写入文件,追加模式
|
static File |
appendString(String content,
File file,
Charset charset)
将String写入文件,追加模式
|
static File |
appendString(String content,
File file,
String charset)
将String写入文件,追加模式
|
static File |
appendString(String content,
String path,
Charset charset)
将String写入文件,追加模式
|
static File |
appendString(String content,
String path,
String charset)
将String写入文件,追加模式
|
static <T> File |
appendUtf8Lines(Collection<T> list,
File file)
将列表写入文件,追加模式
|
static <T> File |
appendUtf8Lines(Collection<T> list,
String path)
将列表写入文件,追加模式
|
static File |
appendUtf8String(String content,
File file)
将String写入文件,UTF-8编码追加模式
|
static File |
appendUtf8String(String content,
String path)
将String写入文件,UTF-8编码追加模式
|
static File |
checkSlip(File parentFile,
File file)
检查父完整路径是否为自路径的前半部分,如果不是说明不是子路径,可能存在slip注入。
|
static Checksum |
checksum(File file,
Checksum checksum)
计算文件校验码
|
static long |
checksumCRC32(File file)
计算文件CRC32校验码
|
static boolean |
clean(File directory)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹
某个文件删除失败会终止删除操作
|
static boolean |
clean(String dirPath)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹
某个文件删除失败会终止删除操作
|
static String |
cleanInvalid(String fileName)
清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ? " < > |
|
static boolean |
containsInvalid(String fileName)
文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ? " < > |
|
static boolean |
contentEquals(File file1,
File file2)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容
此方法来自Apache Commons io
|
static boolean |
contentEqualsIgnoreEOL(File file1,
File file2,
Charset charset)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容,比较内容采用按行读取,每行比较
此方法来自Apache Commons io
|
static File |
convertCharset(File file,
Charset srcCharset,
Charset destCharset)
转换文件编码
此方法用于转换文件编码,读取的文件实际编码必须与指定的srcCharset编码一致,否则导致乱码
|
static File |
convertLineSeparator(File file,
Charset charset,
LineSeparator lineSeparator)
转换换行符
将给定文件的换行符转换为指定换行符
|
static File |
copy(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下:
|
static File |
copy(String srcPath,
String destPath,
boolean isOverride)
复制文件或目录
如果目标文件为目录,则将源文件以相同文件名拷贝到目标目录
|
static File |
copyContent(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下:
|
static File |
copyFile(File src,
File dest,
StandardCopyOption... options)
通过JDK7+的
Files.copy(Path, Path, CopyOption...) 方法拷贝文件 |
static Path |
copyFile(Path src,
Path dest,
StandardCopyOption... options)
通过JDK7+的
Files.copy(Path, Path, CopyOption...) 方法拷贝文件 |
static File |
copyFile(String src,
String dest,
StandardCopyOption... options)
通过JDK7+的
Files.copy(Path, Path, CopyOption...) 方法拷贝文件 |
static File |
copyFilesFromDir(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下:
|
static File |
createTempFile(File dir)
创建临时文件
创建后的文件名为 prefix[Randon].tmp
|
static File |
createTempFile(File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Randon].tmp
|
static File |
createTempFile(String prefix,
String suffix,
File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Randon].suffix From com.jodd.io.FileUtils
|
static boolean |
del(File file)
删除文件或者文件夹
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹
某个文件删除失败会终止删除操作
|
static boolean |
del(String fullFileOrDirPath)
删除文件或者文件夹
路径如果为相对路径,会转换为ClassPath路径! 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹
某个文件删除失败会终止删除操作
|
static boolean |
equals(File file1,
File file2)
检查两个文件是否是同一个文件
所谓文件相同,是指File对象是否指向同一个文件或文件夹
|
static boolean |
exist(File file)
判断文件是否存在,如果file为null,则返回false
|
static boolean |
exist(String path)
判断文件是否存在,如果path为null,则返回false
|
static boolean |
exist(String directory,
String regexp)
是否存在匹配文件
|
static String |
extName(File file)
获取文件扩展名,扩展名不带“.”
|
static String |
extName(String fileName)
获得文件的扩展名,扩展名不带“.”
|
static File |
file(File directory,
String... names)
通过多层目录参数创建文件
此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/
|
static File |
file(File parent,
String path)
创建File对象
此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/
|
static File |
file(String... names)
通过多层目录创建文件
|
static File |
file(String path)
创建File对象,自动识别相对或绝对路径,相对路径将自动从ClassPath下寻找
|
static File |
file(String parent,
String path)
创建File对象
此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/
|
static File |
file(URI uri)
创建File对象
|
static File |
file(URL url)
创建File对象
|
static String |
getAbsolutePath(File file)
获取标准的绝对路径
|
static String |
getAbsolutePath(String path)
获取绝对路径,相对于ClassPath的目录
如果给定就是绝对路径,则返回原路径,原路径把所有\替换为/
兼容Spring风格的路径表示,例如:classpath:config/example.setting也会被识别后转换
|
static String |
getAbsolutePath(String path,
Class<?> baseClass)
获取绝对路径
此方法不会判定给定路径是否有效(文件或目录存在)
|
static BasicFileAttributes |
getAttributes(Path path,
boolean isFollowLinks)
获取文件属性
|
static BOMInputStream |
getBOMInputStream(File file)
获得BOM输入流,用于处理带BOM头的文件
|
static String |
getCanonicalPath(File file)
获取规范的绝对路径
|
static BufferedInputStream |
getInputStream(File file)
获得输入流
|
static BufferedInputStream |
getInputStream(Path path)
获得输入流
|
static BufferedInputStream |
getInputStream(String path)
获得输入流
|
static Path |
getLastPathEle(Path path)
获取指定位置的最后一个子路径部分
|
static String |
getLineSeparator()
获取当前系统的换行分隔符
|
static String |
getMimeType(String filePath)
根据文件扩展名获得MimeType
|
static String |
getName(File file)
返回文件名
|
static String |
getName(String filePath)
返回文件名
|
static BufferedOutputStream |
getOutputStream(File file)
获得一个输出流对象
|
static BufferedOutputStream |
getOutputStream(String path)
获得一个输出流对象
|
static File |
getParent(File file,
int level)
获取指定层级的父路径
|
static String |
getParent(String filePath,
int level)
获取指定层级的父路径
|
static Path |
getPathEle(Path path,
int index)
获取指定位置的子路径部分,支持负数,例如index为-1表示从后数第一个节点位置
|
static PrintWriter |
getPrintWriter(File file,
String charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
getPrintWriter(String path,
Charset charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
getPrintWriter(String path,
String charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static BufferedReader |
getReader(File file,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
getReader(File file,
String charsetName)
获得一个文件读取器
|
static BufferedReader |
getReader(Path path,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
getReader(String path,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
getReader(String path,
String charsetName)
获得一个文件读取器
|
static File |
getTmpDir()
获取临时文件目录
|
static String |
getTmpDirPath()
获取临时文件路径(绝对路径)
|
static String |
getType(File file)
根据文件流的头部信息获得文件类型
|
static File |
getUserHomeDir()
获取用户目录
|
static String |
getUserHomePath()
获取用户路径(绝对路径)
|
static BufferedReader |
getUtf8Reader(File file)
获得一个文件读取器
|
static BufferedReader |
getUtf8Reader(Path path)
获得一个文件读取器
|
static BufferedReader |
getUtf8Reader(String path)
获得一个文件读取器
|
static File |
getWebRoot()
获取Web项目下的web root路径
原理是首先获取ClassPath路径,由于在web项目中ClassPath位于 WEB-INF/classes/下,故向上获取两级目录即可。
|
static BufferedWriter |
getWriter(File file,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
getWriter(File file,
String charsetName,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
getWriter(String path,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
getWriter(String path,
String charsetName,
boolean isAppend)
获得一个带缓存的写入对象
|
static boolean |
isAbsolutePath(String path)
给定路径已经是绝对路径
此方法并没有针对路径做标准化,建议先执行
normalize(String)方法标准化路径后判断 |
static boolean |
isDirectory(File file)
判断是否为目录,如果file为null,则返回false
|
static boolean |
isDirectory(Path path,
boolean isFollowLinks)
判断是否为目录,如果file为null,则返回false
|
static boolean |
isDirectory(String path)
判断是否为目录,如果path为null,则返回false
|
static boolean |
isDirEmpty(File dir)
目录是否为空
|
static boolean |
isDirEmpty(Path dirPath)
目录是否为空
|
static boolean |
isEmpty(File file)
文件是否为空
目录:里面没有文件时为空 文件:文件大小为0时为空
|
static boolean |
isFile(File file)
判断是否为文件,如果file为null,则返回false
|
static boolean |
isFile(Path path,
boolean isFollowLinks)
判断是否为文件,如果file为null,则返回false
|
static boolean |
isFile(String path)
判断是否为文件,如果path为null,则返回false
|
static boolean |
isModifed(File file,
long lastModifyTime)
判断文件是否被改动
如果文件对象为 null 或者文件不存在,被视为改动
|
static boolean |
isNotEmpty(File file)
目录是否为空
|
static boolean |
isWindows()
是否为Windows环境
|
static int |
lastIndexOfSeparator(String filePath)
获得最后一个文件路径分隔符的位置
|
static Date |
lastModifiedTime(File file)
指定文件最后修改时间
|
static Date |
lastModifiedTime(String path)
指定路径文件最后修改时间
|
static List<String> |
listFileNames(String path)
获得指定目录下所有文件
不会扫描子目录
|
static <T> T |
load(File file,
Charset charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
load(String path,
Charset charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
load(String path,
String charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
loadUtf8(File file,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
loadUtf8(String path,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static List<File> |
loopFiles(File file)
递归遍历目录以及子目录中的所有文件
|
static List<File> |
loopFiles(File file,
FileFilter fileFilter)
递归遍历目录以及子目录中的所有文件
如果提供file为文件,直接返回过滤结果
|
static List<File> |
loopFiles(String path)
递归遍历目录以及子目录中的所有文件
|
static List<File> |
loopFiles(String path,
FileFilter fileFilter)
递归遍历目录以及子目录中的所有文件
如果提供file为文件,直接返回过滤结果
|
static File[] |
ls(String path)
列出目录文件
给定的绝对路径不能是压缩包中的路径
|
static String |
mainName(File file)
返回主文件名
|
static String |
mainName(String fileName)
返回主文件名
|
static File |
mkdir(File dir)
创建文件夹,会递归自动创建其不存在的父文件夹,如果存在直接返回此文件夹
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
mkdir(String dirPath)
创建文件夹,如果存在直接返回此文件夹
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
mkParentDirs(File file)
创建所给文件或目录的父目录
|
static File |
mkParentDirs(String path)
创建父文件夹,如果存在直接返回此文件夹
|
static void |
move(File src,
File dest,
boolean isOverride)
移动文件或者目录
|
static boolean |
newerThan(File file,
File reference)
给定文件或目录的最后修改时间是否晚于给定时间
|
static boolean |
newerThan(File file,
long timeMillis)
给定文件或目录的最后修改时间是否晚于给定时间
|
static File |
newFile(String path)
创建File对象,相当于调用new File(),不做任何处理
|
static String |
normalize(String path)
修复路径
如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留
1.
|
static boolean |
pathEndsWith(File file,
String suffix)
判断文件路径是否有指定后缀,忽略大小写
常用语判断扩展名
|
static boolean |
pathEquals(File file1,
File file2)
文件路径是否相同
取两个文件的绝对路径比较,在Windows下忽略大小写,在Linux下不忽略。
|
static String |
readableFileSize(File file)
可读的文件大小
|
static String |
readableFileSize(long size)
可读的文件大小
参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc
|
static byte[] |
readBytes(File file)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE
|
static byte[] |
readBytes(String filePath)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE
|
static String |
readFile(File file)
读取文件
|
static String |
readLine(RandomAccessFile file,
Charset charset)
单行处理文件内容
|
static void |
readLine(RandomAccessFile file,
Charset charset,
LineHandler lineHandler)
单行处理文件内容
|
static List<String> |
readLines(File file,
Charset charset)
从文件中读取每一行数据
|
static void |
readLines(File file,
Charset charset,
LineHandler lineHandler)
按行处理文件内容
|
static <T extends Collection<String>> |
readLines(File file,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
readLines(File file,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readLines(File file,
String charset,
T collection)
从文件中读取每一行数据
|
static void |
readLines(RandomAccessFile file,
Charset charset,
LineHandler lineHandler)
按行处理文件内容
|
static List<String> |
readLines(String path,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readLines(String path,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
readLines(String path,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readLines(String path,
String charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
readLines(URL url,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readLines(URL url,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
readLines(URL url,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readLines(URL url,
String charsetName,
T collection)
从文件中读取每一行数据
|
static String |
readString(File file,
Charset charset)
读取文件内容
|
static String |
readString(File file,
String charsetName)
读取文件内容
|
static String |
readString(String path,
Charset charset)
读取文件内容
|
static String |
readString(String path,
String charsetName)
读取文件内容
|
static String |
readString(URL url,
String charset)
读取文件内容
|
static List<String> |
readUtf8Lines(File file)
从文件中读取每一行数据
|
static void |
readUtf8Lines(File file,
LineHandler lineHandler)
按行处理文件内容,编码为UTF-8
|
static <T extends Collection<String>> |
readUtf8Lines(File file,
T collection)
从文件中读取每一行数据,数据编码为UTF-8
|
static List<String> |
readUtf8Lines(String path)
从文件中读取每一行数据,编码为UTF-8
|
static <T extends Collection<String>> |
readUtf8Lines(String path,
T collection)
从文件中读取每一行的UTF-8编码数据
|
static List<String> |
readUtf8Lines(URL url)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
readUtf8Lines(URL url,
T collection)
从文件中读取每一行数据,编码为UTF-8
|
static String |
readUtf8String(File file)
读取文件内容
|
static String |
readUtf8String(String path)
读取文件内容
|
static File |
rename(File file,
String newName,
boolean isRetainExt,
boolean isOverride)
修改文件或目录的文件名,不变更路径,只是简单修改文件名
重命名有两种模式:
1、isRetainExt为true时,保留原扩展名:
|
static long |
size(File file)
计算目录或文件的总大小
当给定对象为文件时,直接调用
File.length()
当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回 |
static Path |
subPath(Path path,
int fromIndex,
int toIndex)
获取指定位置的子路径部分,支持负数,例如起始为-1表示从后数第一个节点位置
|
static String |
subPath(String rootDir,
File file)
获得相对子路径
|
static String |
subPath(String dirPath,
String filePath)
获得相对子路径,忽略大小写
|
static File |
touch(File file)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
touch(File parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
touch(String fullFilePath)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
touch(String parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型
|
static File |
writeBytes(byte[] data,
File dest)
写数据到文件中
|
static File |
writeBytes(byte[] data,
File dest,
int off,
int len,
boolean isAppend)
写入数据到文件
|
static File |
writeBytes(byte[] data,
String path)
写数据到文件中
|
static File |
writeFromStream(InputStream in,
File dest)
将流的内容写入文件
|
static File |
writeFromStream(InputStream in,
String fullFilePath)
将流的内容写入文件
|
static <T> File |
writeLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
writeLines(Collection<T> list,
File file,
Charset charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
writeLines(Collection<T> list,
File file,
String charset)
将列表写入文件,覆盖模式
|
static <T> File |
writeLines(Collection<T> list,
File file,
String charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
writeLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
writeLines(Collection<T> list,
String path,
Charset charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
writeLines(Collection<T> list,
String path,
String charset)
将列表写入文件,覆盖模式
|
static <T> File |
writeLines(Collection<T> list,
String path,
String charset,
boolean isAppend)
将列表写入文件
|
static File |
writeMap(Map<?,?> map,
File file,
Charset charset,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static File |
writeString(String content,
File file,
Charset charset)
将String写入文件,覆盖模式
|
static File |
writeString(String content,
File file,
String charset)
将String写入文件,覆盖模式
|
static File |
writeString(String content,
String path,
Charset charset)
将String写入文件,覆盖模式
|
static File |
writeString(String content,
String path,
String charset)
将String写入文件,覆盖模式
|
static File |
writeToStream(File file,
OutputStream out)
将文件写入流中
|
static void |
writeToStream(String fullFilePath,
OutputStream out)
将流的内容写入文件
|
static <T> File |
writeUtf8Lines(Collection<T> list,
File file)
将列表写入文件,覆盖模式,编码为UTF-8
|
static <T> File |
writeUtf8Lines(Collection<T> list,
String path)
将列表写入文件,覆盖模式,编码为UTF-8
|
static File |
writeUtf8Map(Map<?,?> map,
File file,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static File |
writeUtf8String(String content,
File file)
将String写入文件,覆盖模式,字符集为UTF-8
|
static File |
writeUtf8String(String content,
String path)
将String写入文件,覆盖模式,字符集为UTF-8
|
public static boolean isWindows()
public static File[] ls(String path)
path - 目录绝对路径或者相对路径public static boolean isEmpty(File file)
file - 文件public static boolean isNotEmpty(File file)
file - 目录public static boolean isDirEmpty(Path dirPath)
dirPath - 目录CommonException - IOExceptionpublic static boolean isDirEmpty(File dir)
dir - 目录public static List<File> loopFiles(String path, FileFilter fileFilter)
path - 当前遍历文件或目录的路径fileFilter - 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录public static List<File> loopFiles(File file, FileFilter fileFilter)
file - 当前遍历文件或目录fileFilter - 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录public static List<File> loopFiles(String path)
path - 当前遍历文件或目录的路径public static List<File> loopFiles(File file)
file - 当前遍历文件public static List<String> listFileNames(String path) throws CommonException
path - 相对ClassPath的目录或者绝对路径目录CommonException - 异常public static File newFile(String path)
path - 文件路径public static File file(String path)
path - 文件路径public static File file(String parent, String path)
parent - 父目录path - 文件路径public static File file(File parent, String path)
parent - 父文件对象path - 文件路径public static File file(File directory, String... names)
directory - 父目录names - 元素名(多层目录名)public static File file(String... names)
元素名(多层目录名)
names - 文件名public static String getTmpDirPath()
public static File getTmpDir()
public static String getUserHomePath()
public static File getUserHomeDir()
public static boolean exist(String path)
path - 文件路径public static boolean exist(File file)
file - 文件public static boolean exist(String directory, String regexp)
directory - 文件夹路径regexp - 文件夹中所包含文件名的正则表达式public static Date lastModifiedTime(File file)
file - 文件public static Date lastModifiedTime(String path)
path - 绝对路径public static long size(File file)
File.length()
当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回file - 目录或文件public static boolean newerThan(File file, File reference)
file - 文件或目录reference - 参照文件public static boolean newerThan(File file, long timeMillis)
file - 文件或目录timeMillis - 做为对比的时间public static File touch(String fullFilePath) throws CommonException
fullFilePath - 文件的全路径,使用POSIX风格CommonException - 异常public static File touch(File file) throws CommonException
file - 文件对象CommonException - 异常public static File touch(File parent, String path) throws CommonException
parent - 父文件对象path - 文件路径CommonException - 异常public static File touch(String parent, String path) throws CommonException
parent - 父文件对象path - 文件路径CommonException - 异常public static File mkParentDirs(File file)
file - 文件或目录public static File mkParentDirs(String path)
path - 文件夹路径,使用POSIX格式,无论哪个平台public static boolean del(String fullFileOrDirPath) throws CommonException
fullFileOrDirPath - 文件或者目录的路径CommonException - 异常public static boolean del(File file) throws CommonException
file - 文件对象CommonException - 异常public static boolean clean(String dirPath) throws CommonException
dirPath - 文件夹路径CommonException - 异常public static boolean clean(File directory) throws CommonException
directory - 文件夹CommonException - 异常public static File mkdir(String dirPath)
dirPath - 文件夹路径,使用POSIX格式,无论哪个平台public static File mkdir(File dir)
dir - 目录public static File createTempFile(File dir) throws CommonException
dir - 临时文件创建的所在目录CommonException - 异常public static File createTempFile(File dir, boolean isReCreat) throws CommonException
dir - 临时文件创建的所在目录isReCreat - 是否重新创建文件(删掉原来的,创建新的)CommonException - 异常public static File createTempFile(String prefix, String suffix, File dir, boolean isReCreat) throws CommonException
prefix - 前缀,至少3个字符suffix - 后缀,如果null则使用默认.tmpdir - 临时文件创建的所在目录isReCreat - 是否重新创建文件(删掉原来的,创建新的)CommonException - 异常public static File copyFile(String src, String dest, StandardCopyOption... options) throws CommonException
Files.copy(Path, Path, CopyOption...) 方法拷贝文件src - 源文件路径dest - 目标文件或目录路径,如果为目录使用与源文件相同的文件名options - StandardCopyOptionCommonException - 异常public static File copyFile(File src, File dest, StandardCopyOption... options) throws CommonException
Files.copy(Path, Path, CopyOption...) 方法拷贝文件src - 源文件dest - 目标文件或目录,如果为目录使用与源文件相同的文件名options - StandardCopyOptionCommonException - 异常public static Path copyFile(Path src, Path dest, StandardCopyOption... options) throws CommonException
Files.copy(Path, Path, CopyOption...) 方法拷贝文件src - 源文件路径dest - 目标文件或目录,如果为目录使用与源文件相同的文件名options - StandardCopyOptionCommonException - 异常public static File copy(String srcPath, String destPath, boolean isOverride) throws CommonException
srcPath - 源文件或目录destPath - 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride - 是否覆盖目标文件CommonException - 异常public static File copy(File src, File dest, boolean isOverride) throws CommonException
1、src和dest都为目录,则将src目录及其目录下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
src - 源文件dest - 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride - 是否覆盖目标文件CommonException - 异常public static File copyContent(File src, File dest, boolean isOverride) throws CommonException
1、src和dest都为目录,则讲src下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
src - 源文件dest - 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride - 是否覆盖目标文件CommonException - 异常public static File copyFilesFromDir(File src, File dest, boolean isOverride) throws CommonException
1、src和dest都为目录,则讲src下所有文件(包括子目录)拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
src - 源文件dest - 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride - 是否覆盖目标文件CommonException - 异常public static void move(File src, File dest, boolean isOverride) throws CommonException
src - 源文件或者目录dest - 目标文件或者目录isOverride - 是否覆盖目标,只有目标为文件才覆盖CommonException - 异常public static File rename(File file, String newName, boolean isRetainExt, boolean isOverride)
FileUtils.rename(file, "aaa", true) xx/xx.png =》xx/aaa.png
2、isRetainExt为false时,不保留原扩展名,需要在newName中
FileUtils.rename(file, "aaa.jpg", false) xx/xx.png =》xx/aaa.jpg
file - 被修改的文件newName - 新的文件名,包括扩展名isRetainExt - 是否保留原文件的扩展名,如果保留,则newName不需要加扩展名isOverride - 是否覆盖目标文件public static String getCanonicalPath(File file)
file - 文件public static String getAbsolutePath(String path, Class<?> baseClass)
path - 相对路径baseClass - 相对路径所相对的类public static String getAbsolutePath(String path)
path - 相对路径public static String getAbsolutePath(File file)
file - 文件public static boolean isAbsolutePath(String path)
normalize(String)方法标准化路径后判断path - 需要检查的Pathpublic static boolean isDirectory(String path)
path - 文件路径public static boolean isDirectory(File file)
file - 文件public static boolean isDirectory(Path path, boolean isFollowLinks)
path - PathisFollowLinks - 是否追踪到软链对应的真实地址public static boolean isFile(String path)
path - 文件路径public static boolean isFile(File file)
file - 文件public static boolean isFile(Path path, boolean isFollowLinks)
path - 文件isFollowLinks - 是否跟踪软链(快捷方式)public static boolean equals(File file1, File file2) throws CommonException
file1 - 文件1file2 - 文件2CommonException - 异常Files.isSameFile(Path, Path)public static boolean contentEquals(File file1, File file2) throws CommonException
file1 - 文件1file2 - 文件2CommonException - 异常public static boolean contentEqualsIgnoreEOL(File file1, File file2, Charset charset) throws CommonException
file1 - 文件1file2 - 文件2charset - 编码,null表示使用平台默认编码 两个文件内容一致返回true,否则falseCommonException - 异常public static boolean pathEquals(File file1, File file2)
file1 - 文件1file2 - 文件2public static int lastIndexOfSeparator(String filePath)
filePath - 文件路径public static boolean isModifed(File file, long lastModifyTime)
file - 文件对象lastModifyTime - 上次的改动时间public static String normalize(String path)
栗子:
"/foo//" =》 "/foo/" "/foo/./" =》 "/foo/" "/foo/../bar" =》 "/bar" "/foo/../bar/" =》 "/bar/" "/foo/../bar/../baz" =》 "/baz" "/../" =》 "/" "foo/bar/.." =》 "foo" "foo/../bar" =》 "bar" "foo/../../bar" =》 "bar" "//server/foo/../bar" =》 "/server/bar" "//server/../bar" =》 "/bar" "C:\\foo\\..\\bar" =》 "C:/bar" "C:\\..\\bar" =》 "C:/bar" "~/foo/../bar/" =》 "~/bar/" "~/../bar" =》 "bar"
path - 原路径public static String subPath(String rootDir, File file)
栗子:
dirPath: d:/aaa/bbb filePath: d:/aaa/bbb/ccc =》 ccc dirPath: d:/Aaa/bbb filePath: d:/aaa/bbb/ccc.txt =》 ccc.txt
rootDir - 绝对父路径file - 文件public static String subPath(String dirPath, String filePath)
栗子:
dirPath: d:/aaa/bbb filePath: d:/aaa/bbb/ccc =》 ccc dirPath: d:/Aaa/bbb filePath: d:/aaa/bbb/ccc.txt =》 ccc.txt dirPath: d:/Aaa/bbb filePath: d:/aaa/bbb/ =》 ""
dirPath - 父路径filePath - 文件路径public static Path getPathEle(Path path, int index)
path - 路径index - 路径节点位置,支持负数(负数从后向前计数)public static Path getLastPathEle(Path path)
path - 路径public static Path subPath(Path path, int fromIndex, int toIndex)
path - 路径fromIndex - 起始路径节点(包括)toIndex - 结束路径节点(不包括)public static String getName(File file)
file - 文件public static String getName(String filePath)
filePath - 文件public static String mainName(String fileName)
fileName - 完整文件名public static String extName(String fileName)
fileName - 文件名public static boolean pathEndsWith(File file, String suffix)
file - 文件或目录suffix - 后缀public static String getType(File file) throws CommonException
file - 文件 FilenullCommonException - 异常FileType.getType(File)public static BasicFileAttributes getAttributes(Path path, boolean isFollowLinks) throws CommonException
path - 文件路径PathisFollowLinks - 是否跟踪到软链对应的真实路径BasicFileAttributesCommonException - 异常public static BufferedInputStream getInputStream(Path path) throws CommonException
path - PathCommonException - 文件未找到public static BufferedInputStream getInputStream(File file) throws CommonException
file - 文件CommonException - 文件未找到public static BufferedInputStream getInputStream(String path) throws CommonException
path - 文件路径CommonException - 文件未找到public static BOMInputStream getBOMInputStream(File file) throws CommonException
file - 文件CommonException - 文件未找到public static BufferedReader getUtf8Reader(Path path) throws CommonException
path - 文件PathCommonException - 异常public static BufferedReader getUtf8Reader(File file) throws CommonException
file - 文件CommonException - 异常public static BufferedReader getUtf8Reader(String path) throws CommonException
path - 文件路径CommonException - 异常public static BufferedReader getReader(Path path, Charset charset) throws CommonException
path - 文件Pathcharset - 字符集CommonException - 异常public static BufferedReader getReader(File file, String charsetName) throws CommonException
file - 文件charsetName - 字符集CommonException - 异常public static BufferedReader getReader(File file, Charset charset) throws CommonException
file - 文件charset - 字符集CommonException - 异常public static BufferedReader getReader(String path, String charsetName) throws CommonException
path - 绝对路径charsetName - 字符集CommonException - 异常public static BufferedReader getReader(String path, Charset charset) throws CommonException
path - 绝对路径charset - 字符集CommonException - 异常public static byte[] readBytes(File file) throws CommonException
file - 文件CommonException - 异常public static byte[] readBytes(String filePath) throws CommonException
filePath - 文件路径CommonException - 异常public static String readUtf8String(File file) throws CommonException
file - 文件CommonException - 异常public static String readUtf8String(String path) throws CommonException
path - 文件路径CommonException - 异常public static String readString(File file, String charsetName) throws CommonException
file - 文件charsetName - 字符集CommonException - 异常public static String readString(File file, Charset charset) throws CommonException
file - 文件charset - 字符集CommonException - 异常public static String readString(String path, String charsetName) throws CommonException
path - 文件路径charsetName - 字符集CommonException - 异常public static String readString(String path, Charset charset) throws CommonException
path - 文件路径charset - 字符集CommonException - 异常public static String readString(URL url, String charset) throws CommonException
url - 文件URLcharset - 字符集CommonException - 异常public static <T extends Collection<String>> T readUtf8Lines(String path, T collection) throws CommonException
T - 集合类型path - 文件路径collection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(String path, String charset, T collection) throws CommonException
T - 集合类型path - 文件路径charset - 字符集collection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(String path, Charset charset, T collection) throws CommonException
T - 集合类型path - 文件路径charset - 字符集collection - 集合CommonException - 异常public static <T extends Collection<String>> T readUtf8Lines(File file, T collection) throws CommonException
T - 集合类型file - 文件路径collection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(File file, String charset, T collection) throws CommonException
T - 集合类型file - 文件路径charset - 字符集collection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(File file, Charset charset, T collection) throws CommonException
T - 集合类型file - 文件路径charset - 字符集collection - 集合CommonException - 异常public static <T extends Collection<String>> T readUtf8Lines(URL url, T collection) throws CommonException
T - 集合类型url - 文件的URLcollection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(URL url, String charsetName, T collection) throws CommonException
T - 集合类型url - 文件的URLcharsetName - 字符集collection - 集合CommonException - 异常public static <T extends Collection<String>> T readLines(URL url, Charset charset, T collection) throws CommonException
T - 集合类型url - 文件的URLcharset - 字符集collection - 集合CommonException - 异常public static List<String> readUtf8Lines(URL url) throws CommonException
url - 文件的URLCommonException - 异常public static List<String> readLines(URL url, String charset) throws CommonException
url - 文件的URLcharset - 字符集CommonException - 异常public static List<String> readLines(URL url, Charset charset) throws CommonException
url - 文件的URLcharset - 字符集CommonException - 异常public static List<String> readUtf8Lines(String path) throws CommonException
path - 文件路径CommonException - 异常public static List<String> readLines(String path, String charset) throws CommonException
path - 文件路径charset - 字符集CommonException - 异常public static List<String> readLines(String path, Charset charset) throws CommonException
path - 文件路径charset - 字符集CommonException - 异常public static List<String> readUtf8Lines(File file) throws CommonException
file - 文件CommonException - 异常public static List<String> readLines(File file, String charset) throws CommonException
file - 文件charset - 字符集CommonException - 异常public static List<String> readLines(File file, Charset charset) throws CommonException
file - 文件charset - 字符集CommonException - 异常public static void readUtf8Lines(File file, LineHandler lineHandler) throws CommonException
file - 文件lineHandler - LineHandler行处理器CommonException - 异常public static void readLines(File file, Charset charset, LineHandler lineHandler) throws CommonException
file - 文件charset - 编码lineHandler - LineHandler行处理器CommonException - 异常public static void readLines(RandomAccessFile file, Charset charset, LineHandler lineHandler)
file - RandomAccessFile文件charset - 编码lineHandler - LineHandler行处理器InstrumentException - 异常public static void readLine(RandomAccessFile file, Charset charset, LineHandler lineHandler)
file - RandomAccessFile文件charset - 编码lineHandler - LineHandler行处理器public static String readLine(RandomAccessFile file, Charset charset)
file - RandomAccessFile文件charset - 编码public static <T> T loadUtf8(String path, FileReader.ReaderHandler<T> readerHandler) throws CommonException
T - 集合类型readerHandler - Reader处理类path - 文件的绝对路径CommonException - 异常public static <T> T load(String path, String charset, FileReader.ReaderHandler<T> readerHandler) throws CommonException
T - 集合类型readerHandler - Reader处理类path - 文件的绝对路径charset - 字符集CommonException - 异常public static <T> T load(String path, Charset charset, FileReader.ReaderHandler<T> readerHandler) throws CommonException
T - 集合类型readerHandler - Reader处理类path - 文件的绝对路径charset - 字符集CommonException - 异常public static <T> T loadUtf8(File file, FileReader.ReaderHandler<T> readerHandler) throws CommonException
T - 集合类型readerHandler - Reader处理类file - 文件CommonException - 异常public static <T> T load(File file, Charset charset, FileReader.ReaderHandler<T> readerHandler) throws CommonException
T - 集合类型readerHandler - Reader处理类file - 文件charset - 字符集CommonException - 异常public static BufferedOutputStream getOutputStream(File file) throws CommonException
file - 文件CommonException - 异常public static BufferedOutputStream getOutputStream(String path) throws CommonException
path - 输出到的文件路径,绝对路径CommonException - 异常public static BufferedWriter getWriter(String path, String charsetName, boolean isAppend) throws CommonException
path - 输出路径,绝对路径charsetName - 字符集isAppend - 是否追加CommonException - 异常public static BufferedWriter getWriter(String path, Charset charset, boolean isAppend) throws CommonException
path - 输出路径,绝对路径charset - 字符集isAppend - 是否追加CommonException - 异常public static BufferedWriter getWriter(File file, String charsetName, boolean isAppend) throws CommonException
file - 输出文件charsetName - 字符集isAppend - 是否追加CommonException - 异常public static BufferedWriter getWriter(File file, Charset charset, boolean isAppend) throws CommonException
file - 输出文件charset - 字符集isAppend - 是否追加CommonException - 异常public static PrintWriter getPrintWriter(String path, String charset, boolean isAppend) throws CommonException
path - 输出路径,绝对路径charset - 字符集isAppend - 是否追加CommonException - 异常public static PrintWriter getPrintWriter(String path, Charset charset, boolean isAppend) throws CommonException
path - 输出路径,绝对路径charset - 字符集isAppend - 是否追加CommonException - 异常public static PrintWriter getPrintWriter(File file, String charset, boolean isAppend) throws CommonException
file - 文件charset - 字符集isAppend - 是否追加CommonException - 异常public static String getLineSeparator()
Windows: \r\n Mac: \r Linux: \n
public static File writeUtf8String(String content, String path) throws CommonException
content - 写入的内容path - 文件路径CommonException - 异常public static File writeUtf8String(String content, File file) throws CommonException
content - 写入的内容file - 文件CommonException - 异常public static File writeString(String content, String path, String charset) throws CommonException
content - 写入的内容path - 文件路径charset - 字符集CommonException - 异常public static File writeString(String content, String path, Charset charset) throws CommonException
content - 写入的内容path - 文件路径charset - 字符集CommonException - 异常public static File writeString(String content, File file, String charset) throws CommonException
content - 写入的内容file - 文件charset - 字符集CommonException - 异常public static File writeString(String content, File file, Charset charset) throws CommonException
content - 写入的内容file - 文件charset - 字符集CommonException - 异常public static File appendUtf8String(String content, String path) throws CommonException
content - 写入的内容path - 文件路径CommonException - 异常public static File appendString(String content, String path, String charset) throws CommonException
content - 写入的内容path - 文件路径charset - 字符集CommonException - 异常public static File appendString(String content, String path, Charset charset) throws CommonException
content - 写入的内容path - 文件路径charset - 字符集CommonException - 异常public static File appendUtf8String(String content, File file) throws CommonException
content - 写入的内容file - 文件CommonException - 异常public static File appendString(String content, File file, String charset) throws CommonException
content - 写入的内容file - 文件charset - 字符集CommonException - 异常public static File appendString(String content, File file, Charset charset) throws CommonException
content - 写入的内容file - 文件charset - 字符集CommonException - 异常public static <T> File writeUtf8Lines(Collection<T> list, String path) throws CommonException
T - 集合元素类型list - 列表path - 绝对路径CommonException - 异常public static <T> File writeUtf8Lines(Collection<T> list, File file) throws CommonException
T - 集合元素类型list - 列表file - 绝对路径CommonException - 异常public static <T> File writeLines(Collection<T> list, String path, String charset) throws CommonException
T - 集合元素类型list - 列表path - 绝对路径charset - 字符集CommonException - 异常public static <T> File writeLines(Collection<T> list, String path, Charset charset) throws CommonException
T - 集合元素类型list - 列表path - 绝对路径charset - 字符集CommonException - 异常public static <T> File writeLines(Collection<T> list, File file, String charset) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集CommonException - 异常public static <T> File writeLines(Collection<T> list, File file, Charset charset) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集CommonException - 异常public static <T> File appendUtf8Lines(Collection<T> list, File file) throws CommonException
T - 集合元素类型list - 列表file - 文件CommonException - 异常public static <T> File appendUtf8Lines(Collection<T> list, String path) throws CommonException
T - 集合元素类型list - 列表path - 文件路径CommonException - 异常public static <T> File appendLines(Collection<T> list, String path, String charset) throws CommonException
T - 集合元素类型list - 列表path - 绝对路径charset - 字符集CommonException - 异常public static <T> File appendLines(Collection<T> list, File file, String charset) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集CommonException - 异常public static <T> File appendLines(Collection<T> list, String path, Charset charset) throws CommonException
T - 集合元素类型list - 列表path - 绝对路径charset - 字符集CommonException - 异常public static <T> File appendLines(Collection<T> list, File file, Charset charset) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集CommonException - 异常public static <T> File writeLines(Collection<T> list, String path, String charset, boolean isAppend) throws CommonException
T - 集合元素类型list - 列表path - 文件路径charset - 字符集isAppend - 是否追加CommonException - 异常public static <T> File writeLines(Collection<T> list, String path, Charset charset, boolean isAppend) throws CommonException
T - 集合元素类型list - 列表path - 文件路径charset - 字符集isAppend - 是否追加CommonException - 异常public static <T> File writeLines(Collection<T> list, File file, String charset, boolean isAppend) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集isAppend - 是否追加CommonException - 异常public static <T> File writeLines(Collection<T> list, File file, Charset charset, boolean isAppend) throws CommonException
T - 集合元素类型list - 列表file - 文件charset - 字符集isAppend - 是否追加CommonException - 异常public static File writeUtf8Map(Map<?,?> map, File file, String kvSeparator, boolean isAppend) throws CommonException
map - Mapfile - 文件kvSeparator - 键和值之间的分隔符,如果传入null使用默认分隔符" = "isAppend - 是否追加CommonException - 异常public static File writeMap(Map<?,?> map, File file, Charset charset, String kvSeparator, boolean isAppend) throws CommonException
map - Mapfile - 文件charset - 字符集编码kvSeparator - 键和值之间的分隔符,如果传入null使用默认分隔符" = "isAppend - 是否追加CommonException - 异常public static File writeBytes(byte[] data, String path) throws CommonException
data - 数据path - 目标文件CommonException - 异常public static File writeBytes(byte[] data, File dest) throws CommonException
dest - 目标文件data - 数据CommonException - 异常public static File writeBytes(byte[] data, File dest, int off, int len, boolean isAppend) throws CommonException
data - 数据dest - 目标文件off - 数据开始位置len - 数据长度isAppend - 是否追加模式CommonException - 异常public static File writeFromStream(InputStream in, File dest) throws CommonException
dest - 目标文件in - 输入流CommonException - 异常public static File writeFromStream(InputStream in, String fullFilePath) throws CommonException
in - 输入流fullFilePath - 文件绝对路径CommonException - 异常public static File writeToStream(File file, OutputStream out) throws CommonException
file - 文件out - 流CommonException - 异常public static void writeToStream(String fullFilePath, OutputStream out) throws CommonException
fullFilePath - 文件绝对路径out - 输出流CommonException - 异常public static String readableFileSize(File file)
file - 文件public static String readableFileSize(long size)
size - Long类型大小public static File convertCharset(File file, Charset srcCharset, Charset destCharset)
file - 文件srcCharset - 原文件的编码,必须与文件内容的编码保持一致destCharset - 转码后的编码public static File convertLineSeparator(File file, Charset charset, LineSeparator lineSeparator)
file - 文件charset - 编码lineSeparator - 换行符枚举public static String cleanInvalid(String fileName)
fileName - 文件名(必须不包括路径,否则路径符将被替换)public static boolean containsInvalid(String fileName)
fileName - 文件名(必须不包括路径,否则路径符将被替换)public static long checksumCRC32(File file) throws CommonException
file - 文件,不能为目录CommonException - 异常public static Checksum checksum(File file, Checksum checksum) throws CommonException
file - 文件,不能为目录checksum - ChecksumCommonException - 异常public static File getWebRoot()
public static String getParent(String filePath, int level)
getParent("d:/aaa/bbb/cc/ddd", 0) - "d:/aaa/bbb/cc/ddd"
getParent("d:/aaa/bbb/cc/ddd", 2) - "d:/aaa/bbb"
getParent("d:/aaa/bbb/cc/ddd", 4) - "d:/"
getParent("d:/aaa/bbb/cc/ddd", 5) - null
filePath - 目录或文件路径level - 层级public static File getParent(File file, int level)
getParent(file("d:/aaa/bbb/cc/ddd", 0)) - "d:/aaa/bbb/cc/ddd"
getParent(file("d:/aaa/bbb/cc/ddd", 2)) - "d:/aaa/bbb"
getParent(file("d:/aaa/bbb/cc/ddd", 4)) - "d:/"
getParent(file("d:/aaa/bbb/cc/ddd", 5)) - null
file - 目录或文件level - 层级public static File checkSlip(File parentFile, File file) throws IllegalArgumentException
见http://blog.nsfocus.net/zip-slip-2/
parentFile - 父文件或目录file - 子文件或目录IllegalArgumentException - 检查创建的子文件不在父目录中抛出此异常Copyright © 2019. All rights reserved.