Package com.luna.common.file
Class FileTools
java.lang.Object
com.luna.common.file.FileTools
- Author:
- Luna
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcleanDirectory(File file, boolean parent) 清空目录下所有文件static voidcleanDirectory(String path) 清空目录下所有文件static voidcleanDirectory(String path, boolean parent) 清空目录下所有文件static long计算文件中行数static voidcreateDirectory(String pathDir) 路径创建文件夹static voiddeleteIfExists(String file) 删除文件或空目录static void下载文件static voiddownloadWithRetry(String url, String file, int maxRetry) 下载文件,失败在优先次数内重试static File创建File对象,自动识别相对或绝对路径,相对路径将自动从ClassPath下寻找static BufferedInputStreamgetInputStream(File file) 获得输入流static String获取Path文件名static BufferedOutputStreamgetOutputStream(File file) 获得一个输出流对象static BufferedReader获得一个文件读取器static File获取临时文件目录static String获取临时文件路径(绝对路径)static File获取用户目录static String获取用户路径(绝对路径)static BufferedWriter获得一个带缓存的写入对象static boolean判断一个文件是否存在static Path移动文件或目录
当目标是目录时,会将源文件或文件夹整体移动至目标目录下
例如:move("/usr/aaa", "/usr/bbb")结果为:"/usr/bbb/aaa"static boolean判断一个文件是否存在static byte[]文件读取字节readAllLines(String fileName) 读取文件所有内容static StringreadFileToString(File file, Charset destCharset) 读取文件static StringreadFileToString(String path) 读取文件static StringreadFileToString(String path, Charset destCharset) 读取文件static File修改文件或目录的文件名,不变更路径,只是简单修改文件名,不保留扩展名。static File修改文件或目录的文件名,不变更路径,只是简单修改文件名
重命名有两种模式:
1、isRetainExt为true时,保留原扩展名:static Path修改文件或目录的文件名,不变更路径,只是简单修改文件名static File创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型static File创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型static void字节写入文件static Filewrite(InputStream in, File file, boolean isCloseIn) 将流的内容写入文件static Filewrite(InputStream in, String file, boolean isCloseIn) 将流的内容写入文件static void字符串写入文件static voidwriteStringToFile(File file, String content, Charset destCharset) 写入文件 不存在抛出异常static voidwriteStringToFile(File file, String content, Charset destCharset, boolean override) 写入文件static voidwriteStringToFile(String path, String content) 写入文件static voidwriteStringToFile(String path, String content, Charset destCharset, boolean override) 写入文件
-
Constructor Details
-
FileTools
public FileTools()
-
-
Method Details
-
getTmpDirPath
获取临时文件路径(绝对路径)- Returns:
- 临时文件路径
- Since:
- 4.0.6
-
getTmpDir
获取临时文件目录- Returns:
- 临时文件目录
- Since:
- 4.0.6
-
getUserHomePath
获取用户路径(绝对路径)- Returns:
- 用户路径
- Since:
- 4.0.6
-
getUserHomeDir
获取用户目录- Returns:
- 用户目录
- Since:
- 4.0.6
-
readAllLines
读取文件所有内容- Parameters:
fileName- 文件路径带文件名- Returns:
- List
-
deleteIfExists
删除文件或空目录- Parameters:
file- 文件目录 或者 文件名
-
isExists
判断一个文件是否存在- Parameters:
fileName- 文件路径- Returns:
- boolean
-
notExists
判断一个文件是否存在- Parameters:
fileName- 文件路径- Returns:
- boolean
-
write
字节写入文件- Parameters:
bytes- 字节数组fileName- 文件路径
-
write
将流的内容写入文件- Parameters:
in- 输入流,不关闭isCloseIn- 是否关闭输入流- Returns:
- dest
- Throws:
IOException- IO异常- Since:
- 5.5.2
-
write
将流的内容写入文件- Parameters:
in- 输入流,不关闭isCloseIn- 是否关闭输入流- Returns:
- dest
- Throws:
IOException- IO异常- Since:
- 5.5.2
-
write
字符串写入文件- Parameters:
fileName- 文件路径content- 文本内容- Throws:
IOException- 写入异常
-
read
文件读取字节- Parameters:
fileName- 文件路径- Returns:
- 字节数组
-
count
计算文件中行数- Parameters:
filePath- 文件地址- Returns:
- long 行数
- Throws:
RuntimeException
-
read
-
download
下载文件若文件已存在,覆盖
有异常时抛出异常
- Parameters:
url- 网络地址file- 文件地址
-
downloadWithRetry
下载文件,失败在优先次数内重试- Parameters:
url- 网络路径file- 保存文件地址maxRetry- 重试次数
-
writeStringToFile
写入文件- Parameters:
path- 文件路径content- 写入内容
-
createDirectory
路径创建文件夹- Parameters:
pathDir- 文件夹路径
-
writeStringToFile
public static void writeStringToFile(String path, String content, Charset destCharset, boolean override) 写入文件- Parameters:
path- 文件路径content- 文件内容override- 不存在是否创建
-
writeStringToFile
public static void writeStringToFile(File file, String content, Charset destCharset, boolean override) 写入文件- Parameters:
file- 文件路径content- 文件内容override- 不存在是否创建
-
writeStringToFile
写入文件 不存在抛出异常- Parameters:
file- 文件路径content- 文件内容destCharset- 编码格式
-
readFileToString
读取文件- Parameters:
path- 文件全路径
-
readFileToString
读取文件- Parameters:
path- 文件全路径destCharset- 文件编码
-
readFileToString
读取文件- Parameters:
file- 文件destCharset- 文件编码
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名,不保留扩展名。
FileUtil.rename(file, "aaa.png", true) xx/xx.png =》xx/aaa.png
- Parameters:
file- 被修改的文件newName- 新的文件名,如需扩展名,需自行在此参数加上,原文件名的扩展名不会被保留isOverride- 是否覆盖目标文件- Returns:
- 目标文件
- Since:
- 5.3.6
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名
重命名有两种模式:
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
- Parameters:
file- 被修改的文件newName- 新的文件名,包括扩展名isRetainExt- 是否保留原文件的扩展名,如果保留,则newName不需要加扩展名isOverride- 是否覆盖目标文件- Returns:
- 目标文件
- Since:
- 3.0.9
- See Also:
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名
FileUtil.rename(file, "aaa.jpg", false) xx/xx.png =》xx/aaa.jpg
- Parameters:
path- 被修改的文件newName- 新的文件名,包括扩展名isOverride- 是否覆盖目标文件- Returns:
- 目标文件Path
- Since:
- 5.4.1
-
move
移动文件或目录
当目标是目录时,会将源文件或文件夹整体移动至目标目录下
例如:move("/usr/aaa", "/usr/bbb")结果为:"/usr/bbb/aaa"- Parameters:
src- 源文件或目录路径target- 目标路径,如果为目录,则移动到此目录下isOverride- 是否覆盖目标文件- Returns:
- 目标文件Path
- Since:
- 5.5.1
-
cleanDirectory
清空目录下所有文件- Parameters:
path- 目录路径
-
cleanDirectory
清空目录下所有文件- Parameters:
path- 目录路径parent- 路径为文件时,是否从父路径清除
-
cleanDirectory
清空目录下所有文件- Parameters:
file- 文件系统parent- 路径为文件时,是否从父路径清除
-
getName
获取Path文件名- Parameters:
path-Path- Returns:
- 文件名
- Since:
- 5.7.15
-
getOutputStream
获得一个输出流对象- Parameters:
file- 文件- Returns:
- 输出流对象
- Throws:
IOException- IO异常
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
file- 文件对象- Returns:
- 文件,若路径为null,返回null
- Throws:
IOException- IO异常
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
path- 相对ClassPath的目录或者绝对路径目录,使用POSIX风格- Returns:
- 文件,若路径为null,返回null
- Throws:
IORuntimeException- IO异常
-
file
创建File对象,自动识别相对或绝对路径,相对路径将自动从ClassPath下寻找- Parameters:
path- 相对ClassPath的目录或者绝对路径目录- Returns:
- File
-
getInputStream
获得输入流- Parameters:
file- 文件- Returns:
- 输入流
- Throws:
IOException- 文件未找到
-
getWriter
获得一个带缓存的写入对象- Parameters:
isAppend- 是否追加- Returns:
- BufferedReader对象
- Throws:
IOException- IO异常
-
getReader
获得一个文件读取器- Parameters:
file- 文件charset- 字符集- Returns:
- BufferedReader对象
- Throws:
IORuntimeException- IO异常
-