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