Package org.aoju.bus.core.toolkit
Class FileKit
java.lang.Object
org.aoju.bus.core.toolkit.FileKit
文件工具类
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddContent(File dir, String content) 向文件头部添加版权等内容static <T> FileappendLines(Collection<T> list, File file) 将列表写入文件,追加模式static <T> FileappendLines(Collection<T> list, File file, String charset) 将列表写入文件,追加模式,策略为: 当文件为空,从开头追加,尾部不加空行 当有内容,换行追加,尾部不加空行 当有内容,并末尾有空行,依旧换行追加static <T> FileappendLines(Collection<T> list, File file, Charset charset) 将列表写入文件,追加模式static <T> FileappendLines(Collection<T> list, String path) 将列表写入文件,追加模式static <T> FileappendLines(Collection<T> list, String path, String charset) 将列表写入文件,追加模式static <T> FileappendLines(Collection<T> list, String path, Charset charset) 将列表写入文件,追加模式static FileappendString(String content, File file) 将String写入文件,UTF-8编码追加模式static FileappendString(String content, File file, String charset) 将String写入文件,追加模式static FileappendString(String content, File file, Charset charset) 将String写入文件,追加模式static FileappendString(String content, String path) 将String写入文件,UTF-8编码追加模式static FileappendString(String content, String path, String charset) 将String写入文件,追加模式static FileappendString(String content, String path, Charset charset) 将String写入文件,追加模式static File检查父完整路径是否为自路径的前半部分,如果不是说明不是子路径,可能存在slip注入static Checksum计算文件校验码static longchecksumCRC32(File file) 计算文件CRC32校验码static boolean清空文件夹 注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作static boolean清空文件夹 注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作static StringcleanInvalid(String fileName) 清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ? " < > |static booleancontainsInvalid(String fileName) 文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ? " < > |static booleancontentEquals(File file1, File file2) 比较两个文件内容是否相同 首先比较长度,长度一致再比较内容 此方法来自Apache Commons iostatic booleancontentEqualsIgnoreEOL(File file1, File file2, Charset charset) 比较两个文件内容是否相同 首先比较长度,长度一致再比较内容,比较内容采用按行读取,每行比较 此方法来自Apache Commons iostatic FileconvertCharset(File file, Charset srcCharset, Charset destCharset) 转换文件编码 此方法用于转换文件编码,读取的文件实际编码必须与指定的srcCharset编码一致,否则导致乱码static FileconvertLineSeparator(File file, Charset charset, LineSeparator lineSeparator) 转换换行符 将给定文件的换行符转换为指定换行符static File复制文件或目录 情况如下:static File复制文件或目录 如果目标文件为目录,则将源文件以相同文件名拷贝到目标目录static FilecopyContent(File src, File dest, boolean isOverride) 复制文件或目录 情况如下:static File复制文件或目录 情况如下:static FilecopyFile(File src, File dest, StandardCopyOption... options) 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件static longcopyFile(File input, OutputStream output) 将字节从File复制到OutputStream这个方法在内部缓冲输入,所以不需要使用BufferedInputStreamstatic FilecopyFile(String src, String dest, StandardCopyOption... options) 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件static PathcopyFile(Path src, Path dest, StandardCopyOption... options) 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件static RandomAccessFilecreateRandomAccessFile(File file, FileMode mode) static RandomAccessFilecreateRandomAccessFile(Path path, FileMode mode) static File在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].tmp 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响static FilecreateTempFile(File dir) 创建临时文件 创建后的文件名为 prefix[Randon].tmpstatic FilecreateTempFile(File dir, boolean isReCreat) 创建临时文件 创建后的文件名为 prefix[Randon].tmpstatic FilecreateTempFile(String suffix, boolean isReCreat) 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响static FilecreateTempFile(String prefix, String suffix, boolean isReCreat) 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响static FilecreateTempFile(String prefix, String suffix, File dir, boolean isReCreat) 创建临时文件 创建后的文件名为 prefix[Randon].suffixstatic boolean删除文件或者文件夹 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作static boolean删除文件或者文件夹 路径如果为相对路径,会转换为ClassPath路径! 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作static boolean删除文件或者文件夹 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作static boolean判断文件路径是否有指定后缀,忽略大小写 常用语判断扩展名static boolean检查两个文件是否是同一个文件 所谓文件相同,是指File对象是否指向同一个文件或文件夹static boolean判断文件是否存在,如果file为null,则返回falsestatic boolean判断文件是否存在,如果path为null,则返回falsestatic boolean是否存在匹配文件static boolean判断文件或目录是否存在static File创建File对象 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/static File通过多层目录参数创建文件 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/static File创建File对象,自动识别相对或绝对路径,相对路径将自动从ClassPath下寻找static File通过多层目录创建文件static File创建File对象 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/static File创建File对象static File创建File对象static StringgetAbsolutePath(File file) 获取标准的绝对路径static StringgetAbsolutePath(String path) 获取绝对路径,相对于ClassPath的目录 如果给定就是绝对路径,则返回原路径,原路径把所有\替换为/ 兼容Spring风格的路径表示,例如:classpath:config/example.setting也会被识别后转换static StringgetAbsolutePath(String path, Class<?> baseClass) 获取绝对路径 此方法不会判定给定路径是否有效(文件或目录存在)static BasicFileAttributesgetAttributes(Path path, boolean isFollowLinks) 获取文件属性static BOMInputStreamgetBOMInputStream(File file) 获得BOM输入流,用于处理带BOM头的文件static BufferedReadergetBOMReader(File file) 读取带BOM头的文件为Readerstatic StringgetCanonicalPath(File file) 获取规范的绝对路径static BufferedInputStreamgetInputStream(File file) 获得输入流static BufferedInputStreamgetInputStream(String path) 获得输入流static BufferedInputStreamgetInputStream(Path path) 获得输入流static PathgetLastPathEle(Path path) 获取指定位置的最后一个子路径部分static String获取当前系统的换行分隔符static StringgetMediaType(String path) 根据文件扩展名获得MediaTypestatic StringgetMediaType(Path file) 获得文件的MediaTypestatic String返回文件名static String返回文件名static String获取Path文件名static BufferedOutputStreamgetOutputStream(File file) 获得一个输出流对象static BufferedOutputStreamgetOutputStream(String path) 获得一个输出流对象static File获取指定层级的父路径static String获取指定层级的父路径static PathgetPathEle(Path path, int index) 获取指定位置的子路径部分,支持负数,例如index为-1表示从后数第一个节点位置static String返回主文件名static String返回主文件名static PrintWritergetPrintWriter(File file, String charset, boolean isAppend) 获得一个打印写入对象,可以有printstatic PrintWritergetPrintWriter(File file, Charset charset, boolean isAppend) 获得一个打印写入对象,可以有printstatic PrintWritergetPrintWriter(String path, String charset, boolean isAppend) 获得一个打印写入对象,可以有printstatic PrintWritergetPrintWriter(String path, Charset charset, boolean isAppend) 获得一个打印写入对象,可以有printstatic BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReader获得一个文件读取器static BufferedReadergetReaders(String resurce, Charset charset) 从ClassPath资源中获取BufferedReaderstatic URLgetResource(String resource) 获得资源的URL 路径用/分隔,例如:static URLgetResource(String resource, Class<?> baseClass) 获得资源相对路径对应的URLstatic EnumerationIterator<URL>getResourceIter(String resource) 获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:static ResourcegetResourceObject(String path) getResources(String resource) 获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:getResources(String resource, Predicate<URL> filter) 获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:static InputStream从ClassPath资源中获取InputStreamstatic InputStreamgetStreamSafe(String resurce) 从ClassPath资源中获取InputStream,当资源不存在时返回nullstatic String获取文件后缀名,扩展名不带“.”static String获得文件后缀名,扩展名不带“.”static File获取临时文件目录static String获取临时文件路径(绝对路径)static String根据文件流的头部信息获得文件类型static File获取用户目录static String获取用户路径(绝对路径)static File获取Web项目下的web root路径 原理是首先获取ClassPath路径,由于在web项目中ClassPath位于 WEB-INF/classes/下,故向上获取两级目录即可static BufferedWriter获得一个带缓存的写入对象static BufferedWriter获得一个带缓存的写入对象static BufferedWriter获得一个带缓存的写入对象static BufferedWriter获得一个带缓存的写入对象static intindexOfLastSeparator(String filename) 返回最后一个目录分隔符的索引static intindexOfSuffix(String filename) 返回最后一个扩展分隔符的索引点.static booleanisAbsolutePath(String path) 给定路径已经是绝对路径 此方法并没有针对路径做标准化,建议先执行normalize(String)方法标准化路径后判断 绝对路径判断条件是: 以/开头的路径 满足类似于 c:/xxxxx,其中祖母随意,不区分大小写 满足类似于 d:\xxxxx,其中祖母随意,不区分大小写static booleanisDirectory(File file) 判断是否为目录,如果file为null,则返回falsestatic booleanisDirectory(String path) 判断是否为目录,如果path为null,则返回falsestatic booleanisDirectory(Path path) 判断是否为目录,如果file为null,则返回false 此方法不会追踪到软链对应的真实地址,即软链被当作文件static booleanisDirectory(Path path, boolean isFollowLinks) 判断是否为目录,如果file为null,则返回falsestatic booleanisDirEmpty(File dir) 目录是否为空static booleanisDirEmpty(Path dirPath) 目录是否为空static boolean判断文件或目录是否存在static boolean文件是否为空 目录:里面没有文件时为空 文件:文件大小为0时为空static boolean判断是否为文件,如果file为null,则返回falsestatic boolean判断是否为文件,如果path为null,则返回falsestatic boolean判断是否为文件,如果file为null,则返回falsestatic booleanisModified(File file, long lastModifyTime) 判断文件是否被改动 如果文件对象为 null 或者文件不存在,被视为改动static booleanisNotEmpty(File file) 目录是否为空static boolean判断给定的目录是否为给定文件或文件夹的子目录static boolean判断给定的目录是否为给定文件或文件夹的子目录static boolean检查文件名的扩展名是否指定的扩展名static boolean检查文件名的扩展名是否为指定的扩展名之一static booleanisSuffix(String filename, Collection<String> suffixs) 检查文件名的扩展名是否为指定的扩展名之一static boolean判断是否为符号链接文件static boolean根据文件名检查文件类型,忽略大小写static boolean是否为Windows环境static intlastIndexOfSeparator(String filePath) 获得最后一个文件路径分隔符的位置static DatelastModifiedTime(File file) 指定文件最后修改时间static DatelastModifiedTime(String path) 指定路径文件最后修改时间listFileNames(String path) 获得指定目录下所有文件 不会扫描子目录static <T> Tload(File file, Charset charset, FileReader.ReaderHandler<T> readerHandler) 按照给定的readerHandler读取文件中的数据static <T> Tload(File file, FileReader.ReaderHandler<T> readerHandler) 按照给定的readerHandler读取文件中的数据static <T> Tload(String path, String charset, FileReader.ReaderHandler<T> readerHandler) 按照给定的readerHandler读取文件中的数据static <T> Tload(String path, Charset charset, FileReader.ReaderHandler<T> readerHandler) 按照给定的readerHandler读取文件中的数据static <T> Tload(String path, FileReader.ReaderHandler<T> readerHandler) 按照给定的readerHandler读取文件中的数据递归遍历目录以及子目录中的所有文件loopFiles(File file, FileFilter fileFilter) 递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果递归遍历目录以及子目录中的所有文件loopFiles(String path, FileFilter fileFilter) 递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果loopFiles(Path path, int maxDepth, FileFilter fileFilter) 递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果loopFiles(Path path, FileFilter fileFilter) 递归遍历目录以及子目录中的所有文件 如果提供path为文件,直接返回过滤结果static File[]列出指定路径下的目录和文件 给定的绝对路径不能是压缩包中的路径static File创建文件夹,会递归自动创建其不存在的父文件夹,如果存在直接返回此文件夹 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static File创建文件夹,如果存在直接返回此文件夹 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static Path创建所给目录及其父目录static booleanmkdirsSafely(File dir, int tryCount, long sleepMillis) 安全地级联创建目录 (确保并发环境下能创建成功)static FilemkParentDirs(File file) 创建所给文件或目录的父目录static FilemkParentDirs(String path) 创建父文件夹,如果存在直接返回此文件夹static void移动文件或者目录static Path移动文件或目录 当目标是目录时,会将源文件或文件夹整体移动至目标目录下static boolean给定文件或目录的最后修改时间是否晚于给定时间static boolean给定文件或目录的最后修改时间是否晚于给定时间static File创建File对象,相当于调用new File(),不做任何处理static String修复路径 如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留 1.static booleanpathEquals(File file1, File file2) 文件路径是否相同 取两个文件的绝对路径比较,在Windows下忽略大小写,在Linux下不忽略static StringreadableFileSize(long size) 可读的文件大小 参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etcstatic StringreadableFileSize(File file) 可读的文件大小static byte[]读取文件所有数据 文件的长度不能超过Integer.MAX_VALUEstatic byte[]读取文件所有数据 文件的长度不能超过Integer.MAX_VALUEstatic String读取Classpath下的资源为字符串,使用UTF-8编码static String读取Classpath下的资源为字符串static String读取文件static StringreadLine(RandomAccessFile file, Charset charset) 单行处理文件内容static voidreadLine(RandomAccessFile file, Charset charset, LineHandler lineHandler) 单行处理文件内容从文件中读取每一行数据从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据从文件中读取每一行数据static voidreadLines(File file, Charset charset, LineHandler lineHandler) 按行处理文件内容static <T extends Collection<String>>
T从文件中读取每一行数据static voidreadLines(File file, LineHandler lineHandler) 按行处理文件内容,编码为UTF-8static <T extends Collection<String>>
T从文件中读取每一行数据,数据编码为UTF-8static voidreadLines(RandomAccessFile file, Charset charset, LineHandler lineHandler) 按行处理文件内容从文件中读取每一行数据,编码为UTF-8从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行的UTF-8编码数据从文件中读取每一行数据从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据static <T extends Collection<String>>
T从文件中读取每一行数据,编码为UTF-8static StringreadString(File file) 读取文件内容static StringreadString(File file, String charsetName) 读取文件内容static StringreadString(File file, Charset charset) 读取文件内容static StringreadString(String path) 读取文件内容static StringreadString(String path, String charsetName) 读取文件内容static StringreadString(String path, Charset charset) 读取文件内容static StringreadString(URL url, String charset) 读取文件内容static StringremoveSuffix(String filename) 从文件名中删除扩展名.static File修改文件或目录的文件名,不变更路径,只是简单修改文件名,不保留扩展名static File修改文件或目录的文件名,不变更路径,只是简单修改文件名 重命名有两种模式: 1、isRetainExt为true时,保留原扩展名:static Path修改文件或目录的文件名,不变更路径,只是简单修改文件名static long计算目录或文件的总大小 当给定对象为文件时,直接调用File.length()当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回 此方法不包括目录本身的占用空间大小static long计算目录或文件的总大小 当给定对象为文件时,直接调用File.length()当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回static String获得相对子路径static String获得相对子路径,忽略大小写static Path获取指定位置的子路径部分,支持负数,例如起始为-1表示从后数第一个节点位置static void文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程static voidtail(File file, Charset charset, LineHandler handler) 文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程static voidtail(File file, LineHandler handler) 文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程static PathtoAbsNormal(Path path) 将Path路径转换为标准的绝对路径static File创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static File创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static File创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static File创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型static void递归遍历目录并处理目录下的文件,可以处理目录或文件: 非目录则直接调用Consumer处理 目录则递归调用此方法处理static voidwalkFiles(Path start, int maxDepth, FileVisitor<? super Path> visitor) 遍历指定path下的文件并做处理static voidwalkFiles(Path start, FileVisitor<? super Path> visitor) 遍历指定path下的文件并做处理static FilewriteBytes(byte[] data, File dest) 写数据到文件中static FilewriteBytes(byte[] data, File dest, int off, int len, boolean isAppend) 写入数据到文件static FilewriteBytes(byte[] data, String path) 写数据到文件中static FilewriteFromStream(InputStream in, File dest) 将流的内容写入文件static FilewriteFromStream(InputStream in, File dest, boolean isCloseIn) 将流的内容写入文件static FilewriteFromStream(InputStream in, String path) 将路径对应文件写入流中,此方法不会关闭输出流static <T> FilewriteLines(Collection<T> list, File file) 将列表写入文件,覆盖模式,编码为UTF-8static <T> FilewriteLines(Collection<T> list, File file, String charset) 将列表写入文件,覆盖模式static <T> FilewriteLines(Collection<T> list, File file, String charset, boolean isAppend) 将列表写入文件static <T> FilewriteLines(Collection<T> list, File file, Charset charset) 将列表写入文件,覆盖模式static <T> FilewriteLines(Collection<T> list, File file, Charset charset, boolean isAppend) 将列表写入文件static <T> FilewriteLines(Collection<T> list, String path) 将列表写入文件,覆盖模式,编码为UTF-8static <T> FilewriteLines(Collection<T> list, String path, String charset) 将列表写入文件,覆盖模式static <T> FilewriteLines(Collection<T> list, String path, String charset, boolean isAppend) 将列表写入文件static <T> FilewriteLines(Collection<T> list, String path, Charset charset) 将列表写入文件,覆盖模式static <T> FilewriteLines(Collection<T> list, String path, Charset charset, boolean isAppend) 将列表写入文件static File将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔static File将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔static FilewriteString(String content, File file) 将String写入文件,覆盖模式,字符集为UTF-8static FilewriteString(String content, File file, String charset) 将String写入文件,覆盖模式static FilewriteString(String content, File file, Charset charset) 将String写入文件,覆盖模式static FilewriteString(String content, String path) 将String写入文件,覆盖模式,字符集为UTF-8static FilewriteString(String content, String path, String charset) 将String写入文件,覆盖模式static FilewriteString(String content, String path, Charset charset) 将String写入文件,覆盖模式static longwriteToStream(File file, OutputStream out) 将文件写入流中,此方法不会关闭输出流static longwriteToStream(String path, OutputStream out) 将流的内容写入文件
-
Constructor Details
-
FileKit
public FileKit()
-
-
Method Details
-
isWindows
public static boolean isWindows()是否为Windows环境- Returns:
- 是否为Windows环境
-
isEmpty
文件是否为空 目录:里面没有文件时为空 文件:文件大小为0时为空- Parameters:
file- 文件- Returns:
- 是否为空, 当提供非目录时, 返回false
-
isNotEmpty
目录是否为空- Parameters:
file- 目录- Returns:
- 是否为空, 当提供非目录时, 返回false
-
isDirEmpty
目录是否为空- Parameters:
dirPath- 目录- Returns:
- 是否为空
- Throws:
InstrumentException- IOException
-
isDirEmpty
目录是否为空- Parameters:
dir- 目录- Returns:
- 是否为空
-
ls
列出指定路径下的目录和文件 给定的绝对路径不能是压缩包中的路径- Parameters:
path- 目录绝对路径或者相对路径- Returns:
- 文件列表(包含目录)
-
isFile
判断是否为文件,如果path为null,则返回false- Parameters:
path- 文件路径- Returns:
- 如果为文件true
-
isFile
判断是否为文件,如果file为null,则返回false- Parameters:
file- 文件- Returns:
- 如果为文件true
-
isFile
判断是否为文件,如果file为null,则返回false- Parameters:
path- 文件isFollowLinks- 是否跟踪软链(快捷方式)- Returns:
- 如果为文件true
-
isDirectory
判断是否为目录,如果path为null,则返回false- Parameters:
path- 文件路径- Returns:
- 如果为目录true
-
isDirectory
判断是否为目录,如果file为null,则返回false 此方法不会追踪到软链对应的真实地址,即软链被当作文件- Parameters:
path-Path- Returns:
- 如果为目录true
-
isDirectory
判断是否为目录,如果file为null,则返回false- Parameters:
file- 文件- Returns:
- 如果为目录true
-
isDirectory
判断是否为目录,如果file为null,则返回false- Parameters:
path-PathisFollowLinks- 是否追踪到软链对应的真实地址- Returns:
- 如果为目录true
-
file
创建File对象,自动识别相对或绝对路径,相对路径将自动从ClassPath下寻找- Parameters:
path- 文件路径- Returns:
- File
-
file
通过多层目录创建文件元素名(多层目录名)
- Parameters:
names- 文件名- Returns:
- the file 文件
-
file
创建File对象- Parameters:
uri- 文件URI- Returns:
- File
-
file
创建File对象- Parameters:
url- 文件URL- Returns:
- File
-
file
创建File对象 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/- Parameters:
parent- 父目录path- 文件路径- Returns:
- File
-
file
创建File对象 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/- Parameters:
parent- 父文件对象path- 文件路径- Returns:
- File
-
file
通过多层目录参数创建文件 此方法会检查slip漏洞,漏洞说明见http://blog.nsfocus.net/zip-slip-2/- Parameters:
directory- 父目录names- 元素名(多层目录名)- Returns:
- the file 文件
-
loopFiles
递归遍历目录以及子目录中的所有文件- Parameters:
path- 当前遍历文件或目录的路径- Returns:
- 文件列表
-
loopFiles
递归遍历目录以及子目录中的所有文件- Parameters:
file- 当前遍历文件- Returns:
- 文件列表
-
loopFiles
递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果- Parameters:
path- 当前遍历文件或目录的路径fileFilter- 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录- Returns:
- 文件列表
-
loopFiles
递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果- Parameters:
file- 当前遍历文件或目录fileFilter- 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录- Returns:
- 文件列表
-
loopFiles
递归遍历目录以及子目录中的所有文件 如果提供path为文件,直接返回过滤结果- Parameters:
path- 当前遍历文件或目录fileFilter- 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录,null表示接收全部文件- Returns:
- 文件列表
-
loopFiles
递归遍历目录以及子目录中的所有文件 如果提供file为文件,直接返回过滤结果- Parameters:
path- 当前遍历文件或目录maxDepth- 遍历最大深度,-1表示遍历到没有目录为止fileFilter- 文件过滤规则对象,选择要保留的文件,只对文件有效,不过滤目录,null表示接收全部文件- Returns:
- 文件列表
-
walkFiles
遍历指定path下的文件并做处理- Parameters:
start- 起始路径,必须为目录visitor-FileVisitor接口,用于自定义在访问文件时,访问目录前后等节点做的操作- See Also:
-
walkFiles
递归遍历目录并处理目录下的文件,可以处理目录或文件:- 非目录则直接调用
Consumer处理 - 目录则递归调用此方法处理
- Parameters:
file- 文件或目录,文件直接处理consumer- 文件处理器,只会处理文件
- 非目录则直接调用
-
walkFiles
遍历指定path下的文件并做处理- Parameters:
start- 起始路径,必须为目录maxDepth- 最大遍历深度,-1表示不限制深度visitor-FileVisitor接口,用于自定义在访问文件时,访问目录前后等节点做的操作- See Also:
-
exists
判断文件是否存在,如果path为null,则返回false- Parameters:
path- 文件路径- Returns:
- 如果存在返回true
-
exists
判断文件是否存在,如果file为null,则返回false- Parameters:
file- 文件- Returns:
- 如果存在返回true
-
exists
是否存在匹配文件- Parameters:
directory- 文件夹路径regexp- 文件夹中所包含文件名的正则表达式- Returns:
- 如果存在匹配文件返回true
-
exists
判断文件或目录是否存在- Parameters:
path- 文件isFollowLinks- 是否跟踪软链(快捷方式)- Returns:
- 是否存在
-
newerThan
给定文件或目录的最后修改时间是否晚于给定时间- Parameters:
file- 文件或目录reference- 参照文件- Returns:
- 是否晚于给定时间
-
newerThan
给定文件或目录的最后修改时间是否晚于给定时间- Parameters:
file- 文件或目录timeMillis- 做为对比的时间- Returns:
- 是否晚于给定时间
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
path- 文件的全路径,使用POSIX风格- Returns:
- 文件, 若路径为null, 返回null
- Throws:
InstrumentException- 异常
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
file- 文件对象- Returns:
- 文件, 若路径为null, 返回null
- Throws:
InstrumentException- 异常
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
parent- 父文件对象path- 文件路径- Returns:
- File
- Throws:
InstrumentException- 异常
-
touch
创建文件及其父目录,如果这个文件存在,直接返回这个文件 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
parent- 父文件对象path- 文件路径- Returns:
- File
- Throws:
InstrumentException- 异常
-
delete
删除文件或者文件夹 路径如果为相对路径,会转换为ClassPath路径! 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作- Parameters:
fullFileOrDirPath- 文件或者目录的路径- Returns:
- 成功与否
- Throws:
InstrumentException- IO异常
-
delete
删除文件或者文件夹 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作- Parameters:
file- 文件对象- Returns:
- 成功与否
- Throws:
InstrumentException- IO异常
-
delete
删除文件或者文件夹 注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作- Parameters:
path- 文件对象- Returns:
- 成功与否
- Throws:
InstrumentException- IO异常
-
clean
清空文件夹 注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作- Parameters:
dirPath- 文件夹路径- Returns:
- 成功与否
- Throws:
InstrumentException- 异常
-
clean
清空文件夹 注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作- Parameters:
directory- 文件夹- Returns:
- 成功与否
- Throws:
InstrumentException- 异常
-
mkdir
创建文件夹,如果存在直接返回此文件夹 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
dirPath- 文件夹路径,使用POSIX格式,无论哪个平台- Returns:
- 创建的目录
-
mkdir
创建文件夹,会递归自动创建其不存在的父文件夹,如果存在直接返回此文件夹 此方法不对File对象类型做判断,如果File不存在,无法判断其类型- Parameters:
dir- 目录- Returns:
- 创建的目录
-
mkdir
创建所给目录及其父目录- Parameters:
dir- 目录- Returns:
- 目录
-
mkParentDirs
创建所给文件或目录的父目录- Parameters:
file- 文件或目录- Returns:
- 父目录
-
mkParentDirs
创建父文件夹,如果存在直接返回此文件夹- Parameters:
path- 文件夹路径,使用POSIX格式,无论哪个平台- Returns:
- 创建的目录
-
mkdirsSafely
安全地级联创建目录 (确保并发环境下能创建成功)并发环境下,假设 test 目录不存在,如果线程A mkdirs "test/A" 目录,线程B mkdirs "test/B"目录, 其中一个线程可能会失败,进而导致以下代码抛出 FileNotFoundException 异常 file.getParentFile().mkdirs(); // 父目录正在被另一个线程创建中,返回 false file.createNewFile(); // 抛出 IO 异常,因为该线程无法感知到父目录已被创建- Parameters:
dir- 待创建的目录tryCount- 最大尝试次数sleepMillis- 线程等待的毫秒数- Returns:
- true表示创建成功,false表示创建失败
-
createTempFile
创建临时文件 创建后的文件名为 prefix[Randon].tmp- Parameters:
dir- 临时文件创建的所在目录- Returns:
- 临时文件
- Throws:
InstrumentException- 异常
-
createTempFile
在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].tmp 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响- Returns:
- 临时文件
- Throws:
InstrumentException- IO异常
-
createTempFile
在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响- Parameters:
suffix- 后缀,如果null则使用默认.tmpisReCreat- 是否重新创建文件(删掉原来的,创建新的)- Returns:
- 临时文件
- Throws:
InstrumentException- IO异常
-
createTempFile
public static File createTempFile(String prefix, String suffix, boolean isReCreat) throws InstrumentException 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix 默认临时文件目录由系统属性java.io.tmpdir指定 在 UNIX 系统上,此属性的默认值通常是"tmp"或"vartmp"在 Microsoft Windows 系统上,它通常是"C:\\WINNT\\TEMP"调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响- Parameters:
prefix- 前缀,至少3个字符suffix- 后缀,如果null则使用默认.tmpisReCreat- 是否重新创建文件(删掉原来的,创建新的)- Returns:
- 临时文件
- Throws:
InstrumentException- IO异常
-
createTempFile
创建临时文件 创建后的文件名为 prefix[Randon].tmp- Parameters:
dir- 临时文件创建的所在目录isReCreat- 是否重新创建文件(删掉原来的,创建新的)- Returns:
- 临时文件
- Throws:
InstrumentException- 异常
-
createTempFile
public static File createTempFile(String prefix, String suffix, File dir, boolean isReCreat) throws InstrumentException 创建临时文件 创建后的文件名为 prefix[Randon].suffix- Parameters:
prefix- 前缀,至少3个字符suffix- 后缀,如果null则使用默认.tmpdir- 临时文件创建的所在目录isReCreat- 是否重新创建文件(删掉原来的,创建新的)- Returns:
- 临时文件
- Throws:
InstrumentException- 异常
-
copyFile
public static File copyFile(String src, String dest, StandardCopyOption... options) throws InstrumentException 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件- Parameters:
src- 源文件路径dest- 目标文件或目录路径,如果为目录使用与源文件相同的文件名options-StandardCopyOption- Returns:
- File
- Throws:
InstrumentException- 异常
-
copyFile
public static File copyFile(File src, File dest, StandardCopyOption... options) throws InstrumentException 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件- Parameters:
src- 源文件dest- 目标文件或目录,如果为目录使用与源文件相同的文件名options-StandardCopyOption- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
copyFile
public static Path copyFile(Path src, Path dest, StandardCopyOption... options) throws InstrumentException 通过JDK7+的Files.copy(Path, Path, CopyOption...)方法拷贝文件- Parameters:
src- 源文件路径dest- 目标文件或目录,如果为目录使用与源文件相同的文件名options-StandardCopyOption- Returns:
- Path
- Throws:
InstrumentException- 异常
-
copyFile
将字节从File复制到OutputStream这个方法在内部缓冲输入,所以不需要使用BufferedInputStream- Parameters:
input- 要读取的Fileoutput- 要写入的输出流OutputStream- Returns:
- 复制的字节数
- Throws:
NullPointerException- 如果输入或输出为空IOException- 如果发生I/O错误
-
copyFile
复制文件或目录 情况如下:1、src和dest都为目录,则将src下所有文件(包括子目录)拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
- Parameters:
src- 源文件dest- 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride- 是否覆盖目标文件- Returns:
- 目标目录或文件
- Throws:
InstrumentException- 异常
-
copy
public static File copy(String srcPath, String destPath, boolean isOverride) throws InstrumentException 复制文件或目录 如果目标文件为目录,则将源文件以相同文件名拷贝到目标目录- Parameters:
srcPath- 源文件或目录destPath- 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride- 是否覆盖目标文件- Returns:
- 目标目录或文件
- Throws:
InstrumentException- 异常
-
copy
复制文件或目录 情况如下:1、src和dest都为目录,则将src目录及其目录下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
- Parameters:
src- 源文件dest- 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride- 是否覆盖目标文件- Returns:
- 目标目录或文件
- Throws:
InstrumentException- 异常
-
copyContent
复制文件或目录 情况如下:1、src和dest都为目录,则将src下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下
- Parameters:
src- 源文件dest- 目标文件或目录,目标不存在会自动创建(目录、文件都创建)isOverride- 是否覆盖目标文件- Returns:
- 目标目录或文件
- Throws:
InstrumentException- 异常
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名,不保留扩展名FileKit.rename(file, "aaa.png", true) xx/xx.png =》xx/aaa.png
- Parameters:
file- 被修改的文件newName- 新的文件名,如需扩展名,需自行在此参数加上,原文件名的扩展名不会被保留isOverride- 是否覆盖目标文件- Returns:
- 目标文件
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名FileKit.rename(file, "aaa.jpg", false) xx/xx.png =》xx/aaa.jpg
- Parameters:
path- 被修改的文件newName- 新的文件名,包括扩展名isOverride- 是否覆盖目标文件- Returns:
- 目标文件Path
-
rename
修改文件或目录的文件名,不变更路径,只是简单修改文件名 重命名有两种模式: 1、isRetainExt为true时,保留原扩展名:FileKit.rename(file, "aaa", true) xx/xx.png =》xx/aaa.png
2、isRetainExt为false时,不保留原扩展名,需要在newName中
FileKit.rename(file, "aaa.jpg", false) xx/xx.png =》xx/aaa.jpg
- Parameters:
file- 被修改的文件newName- 新的文件名,包括扩展名isRetainExt- 是否保留原文件的扩展名,如果保留,则newName不需要加扩展名isOverride- 是否覆盖目标文件- Returns:
- 目标文件
-
move
移动文件或者目录- Parameters:
src- 源文件或者目录target- 目标文件或者目录isOverride- 是否覆盖目标,只有目标为文件才覆盖- Throws:
InstrumentException- IO异常
-
move
移动文件或目录 当目标是目录时,会将源文件或文件夹整体移动至目标目录下- Parameters:
src- 源文件或目录路径target- 目标路径,如果为目录,则移动到此目录下isOverride- 是否覆盖目标文件- Returns:
- 目标文件Path
-
getCanonicalPath
获取规范的绝对路径- Parameters:
file- 文件- Returns:
- 规范绝对路径, 如果传入file为null, 返回null
-
getAbsolutePath
获取绝对路径,相对于ClassPath的目录 如果给定就是绝对路径,则返回原路径,原路径把所有\替换为/ 兼容Spring风格的路径表示,例如:classpath:config/example.setting也会被识别后转换- Parameters:
path- 相对路径- Returns:
- 绝对路径
-
getAbsolutePath
获取绝对路径 此方法不会判定给定路径是否有效(文件或目录存在)- Parameters:
path- 相对路径baseClass- 相对路径所相对的类- Returns:
- 绝对路径
-
getAbsolutePath
获取标准的绝对路径- Parameters:
file- 文件- Returns:
- 绝对路径
-
isAbsolutePath
给定路径已经是绝对路径 此方法并没有针对路径做标准化,建议先执行normalize(String)方法标准化路径后判断 绝对路径判断条件是:- 以/开头的路径
- 满足类似于 c:/xxxxx,其中祖母随意,不区分大小写
- 满足类似于 d:\xxxxx,其中祖母随意,不区分大小写
- Parameters:
path- 需要检查的Path- Returns:
- 是否已经是绝对路径
-
equals
检查两个文件是否是同一个文件 所谓文件相同,是指File对象是否指向同一个文件或文件夹- Parameters:
file1- 文件1file2- 文件2- Returns:
- 是否相同
- Throws:
InstrumentException- 异常- See Also:
-
readFile
读取文件- Parameters:
file- 文件- Returns:
- 内容
-
listFileNames
获得指定目录下所有文件 不会扫描子目录- Parameters:
path- 相对ClassPath的目录或者绝对路径目录- Returns:
- 文件路径列表(如果是jar中的文件, 则给定类似.jar ! / xxx / xxx的路径)
- Throws:
InstrumentException- 异常
-
newFile
创建File对象,相当于调用new File(),不做任何处理- Parameters:
path- 文件路径- Returns:
- File
-
getTmpDirPath
获取临时文件路径(绝对路径)- Returns:
- 临时文件路径
-
getTmpDir
获取临时文件目录- Returns:
- 临时文件目录
-
getUserHomePath
获取用户路径(绝对路径)- Returns:
- 用户路径
-
getUserHomeDir
获取用户目录- Returns:
- 用户目录
-
indexOfSuffix
返回最后一个扩展分隔符的索引点.- Parameters:
filename- 查找最后一个路径分隔符的文件名- Returns:
- 最后一个分隔符字符的索引,如果没有这样的字符,则为-1
-
indexOfLastSeparator
返回最后一个目录分隔符的索引此方法将处理Unix或Windows格式的文件 返回最后一个正斜杠或反斜杠的位置.
- Parameters:
filename- 查找最后一个路径分隔符的文件名- Returns:
- 最后一个分隔符字符的索引,如果没有这样的字符,则为-1
-
lastModifiedTime
指定文件最后修改时间- Parameters:
file- 文件- Returns:
- 最后修改时间
-
lastModifiedTime
指定路径文件最后修改时间- Parameters:
path- 绝对路径- Returns:
- 最后修改时间
-
size
计算目录或文件的总大小 当给定对象为文件时,直接调用File.length()当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回 此方法不包括目录本身的占用空间大小- Parameters:
file- 目录或文件,null或者文件不存在返回0- Returns:
- 总大小,bytes长度
-
size
计算目录或文件的总大小 当给定对象为文件时,直接调用File.length()当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回- Parameters:
file- 目录或文件includeDirSize- 是否包括每层目录本身的大小- Returns:
- 总大小, bytes长度
-
isSymlink
判断是否为符号链接文件- Parameters:
file- 被检查的文件- Returns:
- 是否为符号链接文件
-
contentEquals
比较两个文件内容是否相同 首先比较长度,长度一致再比较内容 此方法来自Apache Commons io- Parameters:
file1- 文件1file2- 文件2- Returns:
- 两个文件内容一致返回true, 否则false
- Throws:
InstrumentException- 异常
-
contentEqualsIgnoreEOL
public static boolean contentEqualsIgnoreEOL(File file1, File file2, Charset charset) throws InstrumentException 比较两个文件内容是否相同 首先比较长度,长度一致再比较内容,比较内容采用按行读取,每行比较 此方法来自Apache Commons io- Parameters:
file1- 文件1file2- 文件2charset- 编码,null表示使用平台默认编码 两个文件内容一致返回true,否则false- Returns:
- the boolean
- Throws:
InstrumentException- 异常
-
pathEquals
文件路径是否相同 取两个文件的绝对路径比较,在Windows下忽略大小写,在Linux下不忽略- Parameters:
file1- 文件1file2- 文件2- Returns:
- 文件路径是否相同
-
lastIndexOfSeparator
获得最后一个文件路径分隔符的位置- Parameters:
filePath- 文件路径- Returns:
- 最后一个文件路径分隔符的位置
-
isModified
判断文件是否被改动 如果文件对象为 null 或者文件不存在,被视为改动- Parameters:
file- 文件对象lastModifyTime- 上次的改动时间- Returns:
- 是否被改动
-
normalize
修复路径 如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留- 1. 统一用 /
- 2. 多个 / 转换为一个 /
- 3. 去除左边空格
- 4. .. 和 . 转换为绝对路径,当..多于已有路径时,直接返回根路径
栗子:
"/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" "~/foo/../bar/" = "~/bar/" "~/../bar" =》 普通用户运行是'bar的home目录',ROOT用户运行是'/bar'
- Parameters:
path- 原路径- Returns:
- 修复后的路径
-
subPath
获得相对子路径栗子:
dirPath: /data/aaa/bbb filePath: /data/aaa/bbb/ccc = ccc dirPath: /data/Aaa/bbb filePath: /data/aaa/bbb/ccc.txt = ccc.txt
- Parameters:
rootDir- 绝对父路径file- 文件- Returns:
- 相对子路径
-
subPath
获得相对子路径,忽略大小写栗子:
dirPath: /data/aaa/bbb filePath: /data/aaa/bbb/ccc = ccc dirPath: /data/Aaa/bbb filePath: /data/aaa/bbb/ccc.txt = ccc.txt dirPath: /data/Aaa/bbb filePath: /data/aaa/bbb/ = ""
- Parameters:
dirPath- 父路径filePath- 文件路径- Returns:
- 相对子路径
-
getPathEle
获取指定位置的子路径部分,支持负数,例如index为-1表示从后数第一个节点位置- Parameters:
path- 路径index- 路径节点位置,支持负数(负数从后向前计数)- Returns:
- 获取的子路径
-
getLastPathEle
获取指定位置的最后一个子路径部分- Parameters:
path- 路径- Returns:
- 获取的最后一个子路径
-
subPath
获取指定位置的子路径部分,支持负数,例如起始为-1表示从后数第一个节点位置- Parameters:
path- 路径fromIndex- 起始路径节点(包括)toIndex- 结束路径节点(不包括)- Returns:
- 获取的子路径
-
getName
返回文件名- Parameters:
file- 文件- Returns:
- 文件名
-
getName
返回文件名- Parameters:
filePath- 文件- Returns:
- 文件名
-
getName
获取Path文件名- Parameters:
path-Path- Returns:
- 文件名
-
getSuffix
获取文件后缀名,扩展名不带“.”- Parameters:
file- 文件- Returns:
- 扩展名
-
getSuffix
获得文件后缀名,扩展名不带“.”- Parameters:
fileName- 文件名- Returns:
- 扩展名
-
getPrefix
返回主文件名- Parameters:
file- 文件- Returns:
- 主文件名
-
getPrefix
返回主文件名- Parameters:
fileName- 完整文件名- Returns:
- 主文件名
-
endsWith
判断文件路径是否有指定后缀,忽略大小写 常用语判断扩展名- Parameters:
file- 文件或目录suffix- 后缀- Returns:
- 是否有指定后缀
-
getType
根据文件流的头部信息获得文件类型- Parameters:
file- 文件File- Returns:
- 类型, 文件的扩展名, 未找到为
null - Throws:
InstrumentException- 异常- See Also:
-
getAttributes
public static BasicFileAttributes getAttributes(Path path, boolean isFollowLinks) throws InstrumentException 获取文件属性- Parameters:
path- 文件路径PathisFollowLinks- 是否跟踪到软链对应的真实路径- Returns:
BasicFileAttributes- Throws:
InstrumentException- 异常
-
getInputStream
获得输入流- Parameters:
path- Path- Returns:
- 输入流
- Throws:
InstrumentException- 文件未找到
-
getInputStream
获得输入流- Parameters:
file- 文件- Returns:
- 输入流
- Throws:
InstrumentException- 文件未找到
-
getInputStream
获得输入流- Parameters:
path- 文件路径- Returns:
- 输入流
- Throws:
InstrumentException- 文件未找到
-
getBOMInputStream
获得BOM输入流,用于处理带BOM头的文件- Parameters:
file- 文件- Returns:
- 输入流
- Throws:
InstrumentException- 文件未找到
-
getBOMReader
读取带BOM头的文件为Reader- Parameters:
file- 文件- Returns:
- BufferedReader对象
-
getReader
获得一个文件读取器- Parameters:
path- 文件Path- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
file- 文件- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
path- 文件路径- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
path- 文件Pathcharset- 字符集- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
file- 文件charsetName- 字符集- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
file- 文件charset- 字符集- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
path- 绝对路径charsetName- 字符集- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getReader
获得一个文件读取器- Parameters:
path- 绝对路径charset- 字符集- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
readBytes
读取文件所有数据 文件的长度不能超过Integer.MAX_VALUE- Parameters:
file- 文件- Returns:
- 字节码
- Throws:
InstrumentException- 异常
-
readBytes
读取文件所有数据 文件的长度不能超过Integer.MAX_VALUE- Parameters:
filePath- 文件路径- Returns:
- 字节码
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
file- 文件- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
path- 文件路径- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
file- 文件charsetName- 字符集- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
file- 文件charset- 字符集- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
path- 文件路径charsetName- 字符集- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
path- 文件路径charset- 字符集- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readString
读取文件内容- Parameters:
url- 文件URLcharset- 字符集- Returns:
- 内容
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(String path, T collection) throws InstrumentException 从文件中读取每一行的UTF-8编码数据- Type Parameters:
T- 集合类型- Parameters:
path- 文件路径collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(String path, String charset, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
path- 文件路径charset- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(String path, Charset charset, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
path- 文件路径charset- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(File file, T collection) throws InstrumentException 从文件中读取每一行数据,数据编码为UTF-8- Type Parameters:
T- 集合类型- Parameters:
file- 文件路径collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(File file, String charset, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
file- 文件路径charset- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(File file, Charset charset, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
file- 文件路径charset- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(URL url, T collection) throws InstrumentException 从文件中读取每一行数据,编码为UTF-8- Type Parameters:
T- 集合类型- Parameters:
url- 文件的URLcollection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(URL url, String charsetName, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
url- 文件的URLcharsetName- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(URL url, Charset charset, T collection) throws InstrumentException 从文件中读取每一行数据- Type Parameters:
T- 集合类型- Parameters:
url- 文件的URLcharset- 字符集collection- 集合- Returns:
- 文件中的每行内容的集合
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
url- 文件的URL- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
url- 文件的URLcharset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
url- 文件的URLcharset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据,编码为UTF-8- Parameters:
path- 文件路径- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
path- 文件路径charset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
path- 文件路径charset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
file- 文件- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
file- 文件charset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
从文件中读取每一行数据- Parameters:
file- 文件charset- 字符集- Returns:
- 文件中的每行内容的集合List
- Throws:
InstrumentException- 异常
-
readLines
按行处理文件内容,编码为UTF-8- Parameters:
file- 文件lineHandler-LineHandler行处理器- Throws:
InstrumentException- 异常
-
readLines
public static void readLines(File file, Charset charset, LineHandler lineHandler) throws InstrumentException 按行处理文件内容- Parameters:
file- 文件charset- 编码lineHandler-LineHandler行处理器- Throws:
InstrumentException- 异常
-
readLines
按行处理文件内容- Parameters:
file-RandomAccessFile文件charset- 编码lineHandler-LineHandler行处理器- Throws:
InstrumentException- 异常
-
readLine
单行处理文件内容- Parameters:
file-RandomAccessFile文件charset- 编码lineHandler-LineHandler行处理器
-
readLine
单行处理文件内容- Parameters:
file-RandomAccessFile文件charset- 编码- Returns:
- 行内容
-
load
public static <T> T load(String path, FileReader.ReaderHandler<T> readerHandler) throws InstrumentException 按照给定的readerHandler读取文件中的数据- Type Parameters:
T- 集合类型- Parameters:
readerHandler- Reader处理类path- 文件的绝对路径- Returns:
- 从文件中load出的数据
- Throws:
InstrumentException- 异常
-
load
public static <T> T load(String path, String charset, FileReader.ReaderHandler<T> readerHandler) throws InstrumentException 按照给定的readerHandler读取文件中的数据- Type Parameters:
T- 集合类型- Parameters:
readerHandler- Reader处理类path- 文件的绝对路径charset- 字符集- Returns:
- 从文件中load出的数据
- Throws:
InstrumentException- 异常
-
load
public static <T> T load(String path, Charset charset, FileReader.ReaderHandler<T> readerHandler) throws InstrumentException 按照给定的readerHandler读取文件中的数据- Type Parameters:
T- 集合类型- Parameters:
readerHandler- Reader处理类path- 文件的绝对路径charset- 字符集- Returns:
- 从文件中load出的数据
- Throws:
InstrumentException- 异常
-
load
public static <T> T load(File file, FileReader.ReaderHandler<T> readerHandler) throws InstrumentException 按照给定的readerHandler读取文件中的数据- Type Parameters:
T- 集合类型- Parameters:
readerHandler- Reader处理类file- 文件- Returns:
- 从文件中load出的数据
- Throws:
InstrumentException- 异常
-
load
public static <T> T load(File file, Charset charset, FileReader.ReaderHandler<T> readerHandler) throws InstrumentException 按照给定的readerHandler读取文件中的数据- Type Parameters:
T- 集合类型- Parameters:
readerHandler- Reader处理类file- 文件charset- 字符集- Returns:
- 从文件中load出的数据
- Throws:
InstrumentException- 异常
-
getOutputStream
获得一个输出流对象- Parameters:
file- 文件- Returns:
- 输出流对象
- Throws:
InstrumentException- 异常
-
getOutputStream
获得一个输出流对象- Parameters:
path- 输出到的文件路径,绝对路径- Returns:
- 输出流对象
- Throws:
InstrumentException- 异常
-
getWriter
public static BufferedWriter getWriter(String path, String charsetName, boolean isAppend) throws InstrumentException 获得一个带缓存的写入对象- Parameters:
path- 输出路径,绝对路径charsetName- 字符集isAppend- 是否追加- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getWriter
public static BufferedWriter getWriter(String path, Charset charset, boolean isAppend) throws InstrumentException 获得一个带缓存的写入对象- Parameters:
path- 输出路径,绝对路径charset- 字符集isAppend- 是否追加- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getWriter
public static BufferedWriter getWriter(File file, String charsetName, boolean isAppend) throws InstrumentException 获得一个带缓存的写入对象- Parameters:
file- 输出文件charsetName- 字符集isAppend- 是否追加- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getWriter
public static BufferedWriter getWriter(File file, Charset charset, boolean isAppend) throws InstrumentException 获得一个带缓存的写入对象- Parameters:
file- 输出文件charset- 字符集isAppend- 是否追加- Returns:
- BufferedReader对象
- Throws:
InstrumentException- 异常
-
getPrintWriter
public static PrintWriter getPrintWriter(String path, String charset, boolean isAppend) throws InstrumentException 获得一个打印写入对象,可以有print- Parameters:
path- 输出路径,绝对路径charset- 字符集isAppend- 是否追加- Returns:
- 打印对象
- Throws:
InstrumentException- 异常
-
getPrintWriter
public static PrintWriter getPrintWriter(String path, Charset charset, boolean isAppend) throws InstrumentException 获得一个打印写入对象,可以有print- Parameters:
path- 输出路径,绝对路径charset- 字符集isAppend- 是否追加- Returns:
- 打印对象
- Throws:
InstrumentException- 异常
-
getPrintWriter
public static PrintWriter getPrintWriter(File file, String charset, boolean isAppend) throws InstrumentException 获得一个打印写入对象,可以有print- Parameters:
file- 文件charset- 字符集isAppend- 是否追加- Returns:
- 打印对象
- Throws:
InstrumentException- 异常
-
getPrintWriter
public static PrintWriter getPrintWriter(File file, Charset charset, boolean isAppend) throws InstrumentException 获得一个打印写入对象,可以有print- Parameters:
file- 文件charset- 字符集isAppend- 是否追加- Returns:
- 打印对象
- Throws:
InstrumentException- 异常
-
getLineSeparator
获取当前系统的换行分隔符Windows: \r\n Mac: \r Linux: \n
- Returns:
- 换行符
-
writeString
将String写入文件,覆盖模式,字符集为UTF-8- Parameters:
content- 写入的内容path- 文件路径- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
writeString
将String写入文件,覆盖模式,字符集为UTF-8- Parameters:
content- 写入的内容file- 文件- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
writeString
public static File writeString(String content, String path, String charset) throws InstrumentException 将String写入文件,覆盖模式- Parameters:
content- 写入的内容path- 文件路径charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
writeString
public static File writeString(String content, String path, Charset charset) throws InstrumentException 将String写入文件,覆盖模式- Parameters:
content- 写入的内容path- 文件路径charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
writeString
public static File writeString(String content, File file, String charset) throws InstrumentException 将String写入文件,覆盖模式- Parameters:
content- 写入的内容file- 文件charset- 字符集- Returns:
- 被写入的文件
- Throws:
InstrumentException- 异常
-
writeString
public static File writeString(String content, File file, Charset charset) throws InstrumentException 将String写入文件,覆盖模式- Parameters:
content- 写入的内容file- 文件charset- 字符集- Returns:
- 被写入的文件
- Throws:
InstrumentException- 异常
-
appendString
将String写入文件,UTF-8编码追加模式- Parameters:
content- 写入的内容path- 文件路径- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
appendString
public static File appendString(String content, String path, String charset) throws InstrumentException 将String写入文件,追加模式- Parameters:
content- 写入的内容path- 文件路径charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
appendString
public static File appendString(String content, String path, Charset charset) throws InstrumentException 将String写入文件,追加模式- Parameters:
content- 写入的内容path- 文件路径charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
appendString
将String写入文件,UTF-8编码追加模式- Parameters:
content- 写入的内容file- 文件- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
appendString
public static File appendString(String content, File file, String charset) throws InstrumentException 将String写入文件,追加模式- Parameters:
content- 写入的内容file- 文件charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
appendString
public static File appendString(String content, File file, Charset charset) throws InstrumentException 将String写入文件,追加模式- Parameters:
content- 写入的内容file- 文件charset- 字符集- Returns:
- 写入的文件
- Throws:
InstrumentException- 异常
-
writeLines
将列表写入文件,覆盖模式,编码为UTF-8- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 绝对路径- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
将列表写入文件,覆盖模式,编码为UTF-8- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 绝对路径- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, String path, String charset) throws InstrumentException 将列表写入文件,覆盖模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 绝对路径charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, String path, Charset charset) throws InstrumentException 将列表写入文件,覆盖模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 绝对路径charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, File file, String charset) throws InstrumentException 将列表写入文件,覆盖模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, File file, Charset charset) throws InstrumentException 将列表写入文件,覆盖模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
将列表写入文件,追加模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
将列表写入文件,追加模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 文件路径- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
public static <T> File appendLines(Collection<T> list, String path, String charset) throws InstrumentException 将列表写入文件,追加模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 绝对路径charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
public static <T> File appendLines(Collection<T> list, File file, String charset) throws InstrumentException 将列表写入文件,追加模式,策略为:- 当文件为空,从开头追加,尾部不加空行
- 当有内容,换行追加,尾部不加空行
- 当有内容,并末尾有空行,依旧换行追加
- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
public static <T> File appendLines(Collection<T> list, String path, Charset charset) throws InstrumentException 将列表写入文件,追加模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 绝对路径charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
appendLines
public static <T> File appendLines(Collection<T> list, File file, Charset charset) throws InstrumentException 将列表写入文件,追加模式- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, String path, String charset, boolean isAppend) throws InstrumentException 将列表写入文件- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 文件路径charset- 字符集isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, String path, Charset charset, boolean isAppend) throws InstrumentException 将列表写入文件- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表path- 文件路径charset- 字符集isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, File file, String charset, boolean isAppend) throws InstrumentException 将列表写入文件- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeLines
public static <T> File writeLines(Collection<T> list, File file, Charset charset, boolean isAppend) throws InstrumentException 将列表写入文件- Type Parameters:
T- 集合元素类型- Parameters:
list- 列表file- 文件charset- 字符集isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeMap
public static File writeMap(Map<?, ?> map, File file, String kvSeparator, boolean isAppend) throws InstrumentException将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔- Parameters:
map- Mapfile- 文件kvSeparator- 键和值之间的分隔符,如果传入null使用默认分隔符" = "isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeMap
public static File writeMap(Map<?, ?> map, File file, Charset charset, String kvSeparator, boolean isAppend) throws InstrumentException将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔- Parameters:
map- Mapfile- 文件charset- 字符集编码kvSeparator- 键和值之间的分隔符,如果传入null使用默认分隔符" = "isAppend- 是否追加- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeBytes
写数据到文件中- Parameters:
data- 数据path- 目标文件- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeBytes
写数据到文件中- Parameters:
dest- 目标文件data- 数据- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeBytes
public static File writeBytes(byte[] data, File dest, int off, int len, boolean isAppend) throws InstrumentException 写入数据到文件- Parameters:
data- 数据dest- 目标文件off- 数据开始位置len- 数据长度isAppend- 是否追加模式- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeFromStream
将流的内容写入文件- Parameters:
dest- 目标文件in- 输入流- Returns:
- dest
- Throws:
InstrumentException- 异常
-
writeFromStream
public static File writeFromStream(InputStream in, File dest, boolean isCloseIn) throws InstrumentException 将流的内容写入文件- Parameters:
dest- 目标文件in- 输入流isCloseIn- 关闭输入流- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeFromStream
将路径对应文件写入流中,此方法不会关闭输出流- Parameters:
in- 输入流path- 文件绝对路径- Returns:
- 目标文件
- Throws:
InstrumentException- 异常
-
writeToStream
将文件写入流中,此方法不会关闭输出流- Parameters:
file- 文件out- 流- Returns:
- 写出的流byte数
- Throws:
InstrumentException- 异常
-
writeToStream
将流的内容写入文件- Parameters:
path- 文件绝对路径out- 输出流- Returns:
- 写出的流byte数
- Throws:
InstrumentException- 异常
-
readableFileSize
可读的文件大小- Parameters:
file- 文件- Returns:
- 大小
-
readableFileSize
可读的文件大小 参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc- Parameters:
size- Long类型大小- Returns:
- 大小
-
convertCharset
转换文件编码 此方法用于转换文件编码,读取的文件实际编码必须与指定的srcCharset编码一致,否则导致乱码- Parameters:
file- 文件srcCharset- 原文件的编码,必须与文件内容的编码保持一致destCharset- 转码后的编码- Returns:
- 被转换编码的文件
-
convertLineSeparator
转换换行符 将给定文件的换行符转换为指定换行符- Parameters:
file- 文件charset- 编码lineSeparator- 换行符枚举- Returns:
- 被修改的文件
-
cleanInvalid
清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ? " < > |- Parameters:
fileName- 文件名(必须不包括路径,否则路径符将被替换)- Returns:
- 清理后的文件名
-
containsInvalid
文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ? " < > |- Parameters:
fileName- 文件名(必须不包括路径,否则路径符将被替换)- Returns:
- 是否包含非法字符
-
checksumCRC32
计算文件CRC32校验码- Parameters:
file- 文件,不能为目录- Returns:
- CRC32值
- Throws:
InstrumentException- 异常
-
checksum
计算文件校验码- Parameters:
file- 文件,不能为目录checksum-Checksum- Returns:
- Checksum
- Throws:
InstrumentException- 异常
-
getWebRoot
获取Web项目下的web root路径 原理是首先获取ClassPath路径,由于在web项目中ClassPath位于 WEB-INF/classes/下,故向上获取两级目录即可- Returns:
- web root路径
-
getParent
获取指定层级的父路径getParent("/data/aaa/bbb/cc/ddd", 0) - "/data/aaa/bbb/cc/ddd" getParent("/data/aaa/bbb/cc/ddd", 2) - "/data/aaa/bbb" getParent("/data/aaa/bbb/cc/ddd", 4) - "/data/" getParent("/data/aaa/bbb/cc/ddd", 5) - null- Parameters:
filePath- 目录或文件路径level- 层级- Returns:
- 路径File, 如果不存在返回null
-
getParent
获取指定层级的父路径getParent(file("/data/aaa/bbb/cc/ddd", 0)) - "/data/aaa/bbb/cc/ddd" getParent(file("/data/aaa/bbb/cc/ddd", 2)) - "/data/aaa/bbb" getParent(file("/data/aaa/bbb/cc/ddd", 4)) - "/data/" getParent(file("/data/aaa/bbb/cc/ddd", 5)) - null- Parameters:
file- 目录或文件level- 层级- Returns:
- 路径File, 如果不存在返回null
-
checkSlip
检查父完整路径是否为自路径的前半部分,如果不是说明不是子路径,可能存在slip注入见http://blog.nsfocus.net/zip-slip-2/
- Parameters:
parentFile- 父文件或目录file- 子文件或目录- Returns:
- 子文件或目录
- Throws:
IllegalArgumentException- 检查创建的子文件不在父目录中抛出此异常
-
getMediaType
根据文件扩展名获得MediaType- Parameters:
path- 文件路径或文件名- Returns:
- the string
MediaType
-
getMediaType
获得文件的MediaType- Parameters:
file- 文件- Returns:
- the string
MediaType
-
removeSuffix
从文件名中删除扩展名.此方法返回文件名最后一个点之前的文本部分,点之后必须没有目录分隔符.
foo.txt --> foo a\b\c.jpg --> a\b\c a\b\c --> a\b\c a.b\c --> a.b\c
- Parameters:
filename- 要查询的文件名null返回null- Returns:
- 文件名减去扩展名
-
isSuffix
检查文件名的扩展名是否指定的扩展名- Parameters:
filename- 要查询的文件名,null返回falsesuffix- 要检查的扩展名,null检查是否没有扩展名- Returns:
- 如果文件名是扩展名之一,则为true
-
isSuffix
检查文件名的扩展名是否为指定的扩展名之一- Parameters:
filename- 要查询的文件名,null返回falsesuffixs- 要检查的扩展名,null检查是否没有扩展名- Returns:
- 如果文件名是扩展名之一,则为true
-
isSuffix
检查文件名的扩展名是否为指定的扩展名之一- Parameters:
filename- 要查询的文件名,null返回falsesuffixs- 要检查的扩展名,null检查是否没有扩展名- Returns:
- 如果文件名是扩展名之一,则为true
-
tail
文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程- Parameters:
file- 文件handler- 行处理器
-
tail
文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程- Parameters:
file- 文件charset- 编码handler- 行处理器
-
tail
文件内容跟随器,实现类似Linux下"tail -f"命令功能 此方法会阻塞当前线程- Parameters:
file- 文件charset- 编码
-
createRandomAccessFile
- Parameters:
path- 文件Pathmode- 模式,见FileMode- Returns:
RandomAccessFile
-
createRandomAccessFile
- Parameters:
file- 文件mode- 模式,见FileMode- Returns:
RandomAccessFile
-
readers
读取Classpath下的资源为字符串,使用UTF-8编码- Parameters:
resource- 资源路径,使用相对ClassPath的路径- Returns:
- 资源内容
-
readers
读取Classpath下的资源为字符串- Parameters:
resource- 资源路径,使用相对ClassPath的路径charset- 编码- Returns:
- 资源内容
-
getReaders
从ClassPath资源中获取BufferedReader- Parameters:
resurce- ClassPath资源charset- 编码- Returns:
InputStream
-
getStream
从ClassPath资源中获取InputStream- Parameters:
resurce- ClassPath资源- Returns:
InputStream- Throws:
InstrumentException- 资源不存在异常
-
getStreamSafe
从ClassPath资源中获取InputStream,当资源不存在时返回null- Parameters:
resurce- ClassPath资源- Returns:
InputStream
-
getResource
获得资源的URL 路径用/分隔,例如:config/a/db.config spring/xml/test.xml
- Parameters:
resource- 资源(相对Classpath的路径)- Returns:
- 资源URL
-
getResources
获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径- Returns:
- 资源列表
-
getResources
获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径filter- 过滤器,用于过滤不需要的资源,null表示不过滤,保留所有元素- Returns:
- 资源列表
-
getResourceIter
获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径- Returns:
- 资源列表
-
getResource
获得资源相对路径对应的URL- Parameters:
resource- 资源相对路径baseClass- 基准Class,获得的相对路径相对于此Class所在路径,如果为null则相对ClassPath- Returns:
URL
-
getResourceObject
- Parameters:
path- 路径,可以是绝对路径,也可以是相对路径- Returns:
Resource资源对象
-
isType
根据文件名检查文件类型,忽略大小写- Parameters:
fileName- 文件名,例如bus.pngsuffix- 被检查的扩展名数组,同一文件类型可能有多种扩展名,扩展名不带“.”- Returns:
- 是否是指定扩展名的类型
-
isEexist
判断文件或目录是否存在- Parameters:
path- 文件isFollowLinks- 是否跟踪软链(快捷方式)- Returns:
- 是否存在
-
isSub
判断给定的目录是否为给定文件或文件夹的子目录- Parameters:
parent- 父目录sub- 子目录- Returns:
- 子目录是否为父目录的子目录
-
isSub
判断给定的目录是否为给定文件或文件夹的子目录- Parameters:
parent- 父目录sub- 子目录- Returns:
- 子目录是否为父目录的子目录
-
toAbsNormal
将Path路径转换为标准的绝对路径- Parameters:
path- 文件或目录Path- Returns:
- 转换后的Path
-
addContent
向文件头部添加版权等内容- Parameters:
dir- 地址content- 内容
-