commons-io

概述

maven依赖

xml 复制代码
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.20.0</version>
        </dependency>

示例

目录\文件监听

  • 监听器
java 复制代码
package com.example.sqldemo;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver;
import java.io.File;
public class MyFileListener extends FileAlterationListenerAdaptor {
  // 文件创建
  @Override
  public void onFileCreate(File file) {
      System.out.println("[新建]:" + file.getAbsolutePath());
  }
  // 文件修改
  @Override
  public void onFileChange(File file) {
      System.out.println("[修改]:" + file.getAbsolutePath());
  }
  // 文件删除
  @Override
  public void onFileDelete(File file) {
      System.out.println("[删除]:" + file.getAbsolutePath());
  }
  // 目录创建
  @Override
  public void onDirectoryCreate(File directory) {
      System.out.println("[新建]:" + directory.getAbsolutePath());
  }
  // 目录修改
  @Override
  public void onDirectoryChange(File directory) {
      System.out.println("[修改]:" + directory.getAbsolutePath());
  }
  // 目录删除
  @Override
  public void onDirectoryDelete(File directory) {
      System.out.println("[删除]:" + directory.getAbsolutePath());
  }
  @Override
  public void onStart(FileAlterationObserver observer) {
      super.onStart(observer);
  }
  @Override
  public void onStop(FileAlterationObserver observer) {
      super.onStop(observer);
  }
}
  • 启用监听器
java 复制代码
FileAlterationObserver observer = new FileAlterationObserver("D:\\demo\\cvs");
observer.addListener(new MyFileListener()); // 设置文件变化监听器
FileAlterationMonitor monitor = new FileAlterationMonitor(5000, observer);// 创建文件变化监听器,间隔5秒
monitor.start();// 开始监控

常用API

IOUtils

方法(有多个重载方法略) 描述
copy(InputStream inputStream, OutputStream outputStream) copy(InputStream inputStream, OutputStream outputStream, int bufferSize) copy(InputStream input, Writer writer, Charset inputCharset) copy(InputStream input, Writer writer, String inputCharsetName) copy(ByteArrayOutputStream outputStream) copy(Reader reader, Appendable output) copy(Reader reader, Appendable output, CharBuffer buffer) copy(Reader reader, OutputStream output, Charset outputCharset) copy(Reader reader, OutputStream output, String outputCharsetName) copy(Reader reader, Writer writer) copy(URL url, File file) copy(URL url, OutputStream outputStream) 流复制,可复制字节流及字符流
copyLarge(InputStream inputStream, OutputStream outputStream) copyLarge(InputStream inputStream, OutputStream outputStream, byte[] buffer) copyLarge(InputStream input, OutputStream output, long inputOffset, long length) copyLarge(InputStream input, OutputStream output, long inputOffset, long length, byte[] buffer) copyLarge(Reader reader, Writer writer) copyLarge(Reader reader, Writer writer, char[] buffer) copyLarge(Reader reader, Writer writer, long inputOffset, long length) copyLarge(Reader reader, Writer writer, long inputOffset, long length, char[] buffer) 大流复制,可复制字节流及字符流
toInputStream(CharSequence input, Charset charset) toInputStream(CharSequence input, String charsetName) toInputStream(String input, Charset charset) toInputStream(String input, String charsetName) 获取字符串的输入流
toBufferedInputStream(InputStream input) toBufferedInputStream(InputStream input, int size) 获取缓存输入流,size为缓冲区大小
toBufferedReader(Reader reader) toBufferedReader(Reader reader, int size) 获取字符缓冲流,size为缓冲区大小
toByteArray(InputStream inputStream) toByteArray(InputStream input, int size) toByteArray(InputStream input, long size) toByteArray(Reader reader, Charset charset) toByteArray(Reader reader, String charsetName) toByteArray(URI uri) toByteArray(URL url) toByteArray(URLConnection urlConnection) 将输入流转换成字节数组;参数为字节流,字符流,URI,URLConnection
toCharArray(InputStream inputStream, Charset charset) toCharArray(InputStream inputStream, String charsetName) toCharArray(Reader reader) 将输入流转换成字符数组;参数为字节流,字符流
toString(byte[] input, String charsetName) toString(InputStream input, Charset charset) toString(InputStream input, String charsetName) toString(IOSupplier input, Charset charset) toString(IOSupplier input, Charset charset, IOSupplier defaultString) toString(Reader reader) toString(URI uri, Charset encoding) toString(URI uri, String charsetName) toString(URL url, Charset encoding) toString(URL url, String charsetName) 将输入流转换成字符串;参数可为字节数组,字节流,字符流,URI
byteArray() byteArray(int size) 字节数组
buffer(InputStream inputStream) buffer(InputStream inputStream, int size) buffer(OutputStream outputStream) buffer(OutputStream outputStream, int size) buffer(Reader reader) buffer(Reader reader, int size) buffer(Writer writer) buffer(Writer writer, int size) 获取缓冲流,size为缓冲区大小
closeQuietly(Closeable closeable) closeQuietly(Closeable... closeables) closeQuietly(Closeable closeable, Consumer consumer) closeQuietly(InputStream input) closeQuietly(Iterable closeables) closeQuietly(OutputStream output) closeQuietly(Reader reader) closeQuietly(Selector selector) closeQuietly(ServerSocket serverSocket) closeQuietly(Socket socket) closeQuietly(Stream closeables) closeQuietly(Writer writer) 安静的关流,不抛异常
close(Closeable closeable) close(Closeable... closeables) close(Closeable closeable, IOConsumer consumer) close(URLConnection conn) 关流,抛异常
contentEquals(InputStream input1, InputStream input2) contentEquals(Reader input1, Reader input2) 判断流是否相等,可判断字节流及字符流
contentEqualsIgnoreEOL(Reader in1, Reader in2) 判断流是否相等,忽略换行符
lineIterator(InputStream input, Charset charset) lineIterator(InputStream input, String charsetName) lineIterator(Reader reader) 获取行迭代器,参数可为字符流
read(InputStream input, byte[] buffer) read(InputStream input, byte[] buffer, int offset, int length) read(ReadableByteChannel input, ByteBuffer buffer) read(Reader reader, char[] buffer) read(Reader reader, char[] buffer, int offset, int length) 从一个流中读取内容,参数可为字符流
readFully(InputStream input, byte[] buffer) readFully(InputStream input, byte[] buffer, int offset, int length) readFully(InputStream input, int length) readFully(ReadableByteChannel input, ByteBuffer buffer) readFully(Reader reader, char[] buffer) readFully(Reader reader, char[] buffer, int offset, int length) 从一个流中读取内容, 读取的长度不够,就会抛出异常
readLines(CharSequence csq) readLines(InputStream input, Charset charset) readLines(InputStream input, String charsetName) readLines(Reader reader) 读取每行数据,返回list,参数可为字符流
resourceToByteArray(String name) resourceToByteArray(String name, ClassLoader classLoader) 通过文件路径获取字节数组
resourceToString(String name, Charset charset) resourceToString(String name, Charset charset, ClassLoader classLoader) 通过文件路径获取字符串
resourceToURL(String name) resourceToURL(String name, ClassLoader classLoader) 通过文件路径获取URL
skip(InputStream input, long skip) skip(InputStream input, long skip, Supplier<byte[]> skipBufferSupplier) skip(ReadableByteChannel input, long toSkip) skip(Reader reader, long toSkip) 跳过指定长度的流,参数可为字符流
skipFully(InputStream input, long toSkip) skipFully(InputStream input, long toSkip, Supplier<byte[]> skipBufferSupplier) skipFully(ReadableByteChannel input, long toSkip) skipFully(Reader reader, long toSkip) 完全跳过指定长度的流,参数可为字符流
write(byte[] data, OutputStream output) write(byte[] data, Writer writer, Charset charset) write(byte[] data, Writer writer, String charsetName) write(char[] data, OutputStream output, Charset charset) write(char[] data, OutputStream output, String charsetName) write(char[] data, Writer writer) write(CharSequence data, OutputStream output, Charset charset) write(CharSequence data, OutputStream output, String charsetName) write(CharSequence data, Writer writer) write(String data, OutputStream output, Charset charset) write(String data, OutputStream output, String charsetName) write(String data, Writer writer) 把数据写入到输出流中,数据可以字节数组及字符串可转字节流,字符流
writeChunked(byte[] data, OutputStream output) writeChunked(char[] data, Writer writer) 写出块;字节数组写入字节流;字符数组写入字符流
writeLines(Collection<?> lines, String lineEnding, OutputStream output, Charset charse writeLines(Collection<?> lines, String lineEnding, OutputStream output, String charsetName) writeLines(Collection<?> lines, String lineEnding, Writer writer) 写出行;
consume(InputStream input) consume(Reader input)
length(byte[] array) length(char[] array) length(CharSequence csq) length(Object[] array) 获取大小
writer(Appendable appendable)

FileUtils

方法 描述
byteCountToDisplaySize(BigInteger size) byteCountToDisplaySize(long size) byteCountToDisplaySize(Number size) 字节数显示大小(单位转换),参数可为BigInteger
checksum(File file, Checksum checksum) 文件校验
checksumCRC32(File file) 文件CRC32校验
cleanDirectory(File directory) 清空文件夹
contentEquals(File file1, File file2) 判断文件是否一致
contentEqualsIgnoreEOL(File f1, File f2, String charset) 判断文件是否一致,忽略换行
convertFileCollectionToFileArray(Collection files) 文件集合转数组
copyDirectory(File srcDir, File destDir) copyDirectory(File srcDir, File destDir, boolean preserveFileDate) copyDirectory(File srcDir, File destDir, FileFilter filter) copyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate) copyDirectory(File srcDir, File destDir, FileFilter fileFilter, boolean preserveFileDate, CopyOption... copyOptions) 复制文件夹,可设置文件过滤器及是否保留文件日期
copyDirectoryToDirectory(File sourceDir, File destinationDir) 复制文件夹到文件夹
copyFile(File srcFile, File destFile) copyFile(File srcFile, File destFile, boolean preserveFileDate) copyFile(File srcFile, File destFile, boolean preserveFileDate, CopyOption... copyOptions) copyFile(File srcFile, File destFile, CopyOption... copyOptions) copyFile(File input, OutputStream output) 复制文件,可设置是否保留文件日期
copyFileToDirectory(File srcFile, File destDir) copyFileToDirectory(File sourceFile, File destinationDir, boolean preserveFileDate) 复制文件到文件夹,可设置是否保留文件日期
copyInputStreamToFile(InputStream source, File destination) 复制流到文件
copyToDirectory(File sourceFile, File destinationDir) copyToDirectory(Iterable sourceIterable, File destinationDir) 复制到文件夹,复制文件可为FIle也可为File集合
copyToFile(InputStream source, File destination) 复制流到文件
copyURLToFile(URL source, File destination) copyURLToFile(URL source, File destination, int connectionTimeoutMillis, int readTimeoutMillis) 复制URL到文件
deleteDirectory(File directory) 删除目录
deleteQuietly(File file) 安静的删除
directoryContains(File directory, File child) 判断目录是否包含
forceDelete(File file) 强制删除
forceDeleteOnExit(File file) 强制退出删除
forceMkdir(File directory) 强制创建目录
forceMkdirParent(File file) 强制创建父级目录
getFile(File directory, String... names) getFile(String... names) directory路径拼接各names
getTempDirectory() 获取临时目录File对象
getTempDirectoryPath() 获取临时目录路径
getUserDirectory() 获取用户目录File对象
getUserDirectoryPath() 获取用户目录路径
lastModified(File file) 获取最后修改时间
lastModifiedFileTime(File file) 获取最后修改时间,FileTime对象。
lastModifiedUnchecked(File file) 获取文件的最后修改时间,不会抛出异常。
isDirectory(File file, LinkOption... options) 是否是目录
isEmptyDirectory(File directory) 是否是空目录
isFileNewer(File file, ChronoLocalDate chronoLocalDate) isFileNewer(File file, ChronoLocalDate chronoLocalDate, LocalTime localTime) isFileNewer(File file, ChronoLocalDate chronoLocalDate, OffsetTime offsetTime) isFileNewer(File file, ChronoLocalDateTime<?> chronoLocalDateTime) isFileNewer(File file, ChronoLocalDateTime<?> chronoLocalDateTime, ZoneId zoneId) isFileNewer(File file, ChronoZonedDateTime<?> chronoZonedDateTime) isFileNewer(File file, Date date) isFileNewer(File file, File reference) isFileNewer(File file, FileTime fileTime) isFileNewer(File file, Instant instant) isFileNewer(File file, long timeMillis) isFileNewer(File file, OffsetDateTime offsetDateTime) 是否是新文件
isFileOlder(File file, ChronoLocalDate chronoLocalDate) isFileOlder(File file, ChronoLocalDate chronoLocalDate, LocalTime localTime) isFileOlder(File file, ChronoLocalDate chronoLocalDate, OffsetTime offsetTime) isFileOlder(File file, ChronoLocalDateTime<?> chronoLocalDateTime) isFileOlder(File file, ChronoLocalDateTime<?> chronoLocalDateTime, ZoneId zoneId) isFileOlder(File file, ChronoZonedDateTime<?> chronoZonedDateTime) isFileOlder(File file, Date date) isFileOlder(File file, File reference) isFileOlder(File file, FileTime fileTime) isFileOlder(File file, Instant instant) isFileOlder(File file, long timeMillis) isFileOlder(File file, OffsetDateTime offsetDateTime) 是否是旧文件
isRegularFile(File file, LinkOption... options) 检查指定路径是否对应一个"常规文件"
isSymlink(File file) 判断是否是符号链接
iterateFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) iterateFiles(File directory, String[] extensions, boolean recursive) 获取文件迭代器;可配置文件\目录过滤器,扩展名数组,是否迭代
iterateFilesAndDirs(File dir, IOFileFilter filter, IOFileFilter filter) 获取文件及目录迭代器;可配置文件\目录过滤器
lineIterator(File file) lineIterator(File file, String charsetName) 获取行迭代器,用于读取文件
listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) listFiles(File directory, String[] extensions, boolean recursive) 获取文件集合,可配置文件\目录过滤器,扩展名数组,是否迭代
listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) 获取文件及目录集合;可配置文件\目录过滤器
moveDirectory(File srcDir, File destDir) 移动文件夹
moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) 移动文件夹到文件夹
moveFile(File srcFile, File destFile) moveFile(File srcFile, File destFile, CopyOption... copyOptions) 移动文件
moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) 移动文件夹到文件夹,配置是否新建文件夹
moveToDirectory(File src, File destDir, boolean createDestDir) 移动到文件夹,配置是否新建文件夹
newOutputStream(File file, boolean append) 创建输出流
openInputStream(File file) 获取输入流
openOutputStream(File file) openOutputStream(File file, boolean append) 获取输出流,配置是否可追加
readFileToByteArray(File file) 读取文件为字节数组
readFileToString(File file, Charset charsetName) readFileToString(File file, String charsetName) 读取文件为字符串
readLines(File file, Charset charset) readLines(File file, String charsetName) 读取文件每行为集合
sizeOf(File file) 获取文件字节大小,返回long
sizeOfAsBigInteger(File file) 获取文件字节大小,返回BigInteger
sizeOfDirectory(File directory) 获取目录下文件字节大小,返回long
sizeOfDirectoryAsBigInteger(File directory) 获取目录下文件字节大小,返回BigInteger
streamFiles(File directory, boolean recursive, String... extensions) 获取文件流Stream对象
waitFor(File file, int seconds) 等待文件创建,直到达到指定时间或文件状态满足条件‌。
toFile(URL url) URL转File,单转换
toFiles(URL... urls) URL转File,批量转换
touch(File file) 修改文件修改时间为当前时间
toURLs(File... files) 批量File转换URL
write(File file, CharSequence data, Charset charset) write(File file, CharSequence data, Charset charset, boolean append) write(File file, CharSequence data, String charsetName) write(File file, CharSequence data, String charsetName, boolean append) 文件写入数据,可配置字符集,是否追加
writeByteArrayToFile(File file, byte[] data) writeByteArrayToFile(File file, byte[] data, boolean append) writeByteArrayToFile(File file, byte[] data, int off, int len) writeByteArrayToFile(File file, byte[] data, int off, int len, boolean append) 字节数组写入文件,可配置写入开始及长度,是否追加
writeLines(File file, Collection<?> lines) writeLines(File file, Collection<?> lines, boolean append) writeLines(File file, Collection<?> lines, String lineEnding) writeLines(File file, Collection<?> lines, String lineEnding, boolean append) writeLines(File file, String charsetName, Collection<?> lines) writeLines(File file, String charsetName, Collection<?> lines, boolean append) writeLines(File file, String charsetName, Collection<?> lines, String lineEnding) writeLines(File file, String charsetName, Collection<?> lines, String lineEnding, boolean append) 文件写入每行数据,可配置是否追加
writeStringToFile(File file, String data, Charset charset) writeStringToFile(File file, String data, Charset charset, boolean append) writeStringToFile(File file, String data, String charsetName) writeStringToFile(File file, String data, String charsetName, boolean append) 字符串写入文件

FilenameUtils

方法 描述
normalize(String fileName) normalize(String fileName, boolean unixSeparator) 获取当前系统格式化路径
normalizeNoEndSeparator(String fileName) normalizeNoEndSeparator(String fileName, boolean unixSeparator) 获取当前系统无结尾分隔符的路径,linux路径
concat(String basePath, String fullFileNameToAdd) 合并目录和文件名为文件全路径
directoryContains(String canonicalParent, String canonicalChild) 判断目录下是否包含指定文件或目录
separatorsToUnix(String path) 转换分隔符为linux系统分隔符
separatorsToWindows(String path) 转换分隔符为windows系统分隔符
separatorsToSystem(String path) 转换分隔符为当前系统分隔符
getPrefixLength(String fileName) 获取前缀长度
indexOfLastSeparator(String fileName) 获取最后一个/的位置
indexOfExtension(String fileName) 获取最后一个.的位置
getPrefix(String fileName) 获取前缀
getPath(String fileName) 去除前缀的路径(不包含文件名)
getPathNoEndSeparator(String fileName) 去除前缀并结尾去除分隔符
getFullPath(String fileName) 获取完整路径(不包含文件名)
getFullPathNoEndSeparator(String fileName) 获取完整路径并结尾去除分隔符
getName(String fileName) 获取文件名,包括扩展名
getBaseName(String fileName) 获取文件名,不包括扩展名
getExtension(String fileName) 获取文件扩展名
removeExtension(String fileName) 去除扩展名
equals(String fileName1, String fileName2) equals(String fileName1, String fileName2, boolean normalize, IOCase ioCase) 判断文件路径是否相同
equalsOnSystem(String fileName1, String fileName2) 判断文件路径是否相同,不格式化,大小写敏感根据系统规则
equalsNormalized(String fileName1, String fileName2) equalsNormalizedOnSystem(String fileName1, String fileName2) 判断文件路径是否相同,格式化并大小写敏感
equalsNormalizedOnSystem(String fileName1, String fileName2) 判断文件路径是否相同,格式化,大小写敏感根据系统规则
isExtension(String fileName, Collection extensions) isExtension(String fileName, String extension) isExtension(String fileName, String... extensions) 判断文件扩展名是否包含在指定集合中
wildcardMatch(String fileName, String wildcardMatcher) wildcardMatch(String fileName, String wildcardMatcher, IOCase ioCase) 判断文件扩展名是否和指定规则匹配,大小写敏感 注: *.??? *表示多字符 ?表示一个字符
wildcardMatchOnSystem(String fileName, String wildcardMatcher) 判断文件扩展名是否和指定规则匹配,根据系统判断敏感型

EndianUtils

方法 描述
swapDouble(double value) 转换双精度浮点数(64位)
swapFloat(float value) 转换单精度浮点数(32位)
swapInteger(int value) 转换32位整数
swapLong(long value) 转换64位整数
swapShort(short value) 转换16位整数
readSwappedDouble(byte[] data, int offset) readSwappedDouble(InputStream input) 从流中读取大端序双精度浮点数
readSwappedFloat(byte[] data, int offset) readSwappedFloat(InputStream input) 从流中读取大端序单精度浮点数
readSwappedInteger(byte[] data, int offset) readSwappedInteger(InputStream input) 从流中读取大端序32位整数
readSwappedLong(byte[] data, int offset) readSwappedLong(InputStream input) 从流中读取大端序64位整数
readSwappedShort(byte[] data, int offset) readSwappedShort(InputStream input) 从流中读取大端序16位整数
readSwappedUnsignedInteger(byte[] data, int offset) readSwappedUnsignedInteger(InputStream input) 从字节数组或输入流中读取无符号32位整数
readSwappedUnsignedShort(byte[] data, int offset) readSwappedUnsignedShort(InputStream input) 从字节数组或输入流中读取无符号16位整数
writeSwappedFloat(byte[] data, int offset, float value) writeSwappedFloat(OutputStream output, float value) 将单精度浮点数以大端序写入流
writeSwappedInteger(byte[] data, int offset, int value) writeSwappedInteger(OutputStream output, int value) 将32位整数以大端序写入流
writeSwappedLong(byte[] data, int offset, long value) writeSwappedLong(OutputStream output, long value) 将64位整数以大端序写入流
writeSwappedShort(byte[] data, int offset, short value) writeSwappedShort(OutputStream output, short value) 将16位整数以大端序写入流

FileFilterUtils

方法 描述
filter(IOFileFilter filter, File... files) filter(IOFileFilter filter, Iterable files) 过滤文件获得数组
filterList(IOFileFilter filter, File... files) filterList(IOFileFilter filter, Iterable files) 过滤文件获得list集合
filterSet(IOFileFilter filter, File... files) filterSet(IOFileFilter filter, Iterable files) 过滤文件获得set集合
prefixFileFilter(String prefix) prefixFileFilter(String prefix, IOCase ioCase) 根据前缀获取文件过滤器
suffixFileFilter(String suffix) suffixFileFilter(String suffix, IOCase ioCase) 根据后缀获取文件过滤器
nameFileFilter(String name) nameFileFilter(String name, IOCase ioCase) 根据文件名获取文件过滤器
sizeFileFilter(long threshold) sizeFileFilter(long threshold, boolean acceptLarger) 文件大小过滤器; 可配置acceptLarger设置是否接受更大
ageFileFilter(long cutoff) 时间过滤器;可设置时间为long及Date; acceptOlder设置是否接受旧文件
sizeRangeFileFilter(long min, long max) 文件大小(范围)过滤器
directoryFileFilter() 目录过滤器(只获取目录)
fileFileFilter() 文件过滤器(只获取文件)
and(IOFileFilter... filters) 逻辑,与;
or(IOFileFilter... filters) 逻辑,或;
toList(IOFileFilter... filters) 转换为过滤器集合
notFileFilter(IOFileFilter filter) 逻辑,非;
trueFileFilter() 逻辑,是;
falseFileFilter() 逻辑,否;
asFileFilter(FileFilter filter) FileFilter转IOFileFilter
magicNumberFileFilter(byte[] magicNumber) magicNumberFileFilter(byte[] magicNumber, long offset) magicNumberFileFilter(String magicNumber) magicNumberFileFilter(String magicNumber, long offset) magicNumber过滤器
makeCVSAware(IOFileFilter filter) cvs文件过滤器
makeSVNAware(IOFileFilter filter) SVN文件过滤器
makeDirectoryOnly(IOFileFilter filter) 只有文件夹过滤器
makeFileOnly(IOFileFilter filter) 只有文件过滤器

Comparators

  • 实现类
类名 描述
CompositeFileComparator(Iterable<Comparator> delegates) 复合文件比较器
DefaultFileComparator() 默认比较器,直接调用File的compareTo方法
DirectoryFileComparator() 文件目录比较器,
ExtensionFileComparator(IOCase caseSensitivity) 文件路径比较器,参数为是否大小写敏感,无参为大小写敏感
LastModifiedFileComparator() 文件最后修改比较器
NameFileComparator(IOCase caseSensitivity) 文件名比较器,参数为是否大小写敏感,无参为大小写敏感
PathFileComparator(IOCase caseSensitivity) 文件路径比较器,参数为是否大小写敏感,无参为大小写敏感
SizeFileComparator(boolean sumDirectoryContents) 文件大小比较器,参数为是否为目录下所有文件大小,无参为false
  • 方法
方法 描述
compare(File file1, File file2) 比较两个文件,file1<file2返回-1,file1>file2返回1,相等为0
sort(File... files) 排序,返回数组;参数可为集合,返回集合
reversed() 获取反转的比较器

ThreadUtils

方法 描述
sleep(Duration duration) 线程休眠操作

PathUtils

方法 描述
cleanDirectory(Path directory) cleanDirectory(Path directory, DeleteOption... deleteOptions) 删除指定目录下的所有文件和子目录,但保留目录本身。
contentEquals(FileSystem fileSystem1, FileSystem fileSystem2) 判断内容是否相等
copy(IOSupplier<InputStream> in, Path target, CopyOption... copyOptions) 复制
copyDirectory(Path sourceDirectory, Path targetDirectory, CopyOption... copyOptions) 复制文件夹
copyFile(URL sourceFile, Path targetFile, CopyOption... copyOptions) 复制文件
copyFileToDirectory(Path sourceFile, Path targetDirectory, CopyOption... copyOptions) copyFileToDirectory(URL sourceFile, Path targetDirectory, CopyOption... copyOptions) 复制文件到指定文件夹
countDirectory(Path directory) 用于统计目录内容数量
countDirectoryAsBigInteger(Path directory) 用于统计目录内容数量
createParentDirectories(Path path, FileAttribute<?>... attrs) createParentDirectories(Path path, LinkOption linkOption, FileAttribute<?>... attrs) 用于递归创建父目录
current() 获取当前工作目录
delete(Path path) delete(Path path, DeleteOption... deleteOptions) delete(Path path, LinkOption[] linkOptions, DeleteOption... deleteOptions) 删除
deleteDirectory(Path directory) deleteDirectory(Path directory, DeleteOption... deleteOptions) deleteDirectory(Path directory, LinkOption[] linkOptions, DeleteOption... deleteOptions) 删除文件夹
deleteFile(Path file) deleteFile(Path file, DeleteOption... deleteOptions) deleteFile(Path file, LinkOption[] linkOptions, DeleteOption... deleteOptions) 删除文件
deleteOnExit(Path path) 存在则删除
directoryAndFileContentEquals(Path path1, Path path2) directoryAndFileContentEquals(Path path1, Path path2, LinkOption[] linkOptions, OpenOption[] openOptions, FileVisitOption[] fileVisitOption) 判断目录或文件内容是否相等
directoryContentEquals(Path path1, Path path2) directoryContentEquals(Path path1, Path path2, int maxDepth, LinkOption[] linkOptions, FileVisitOption[] fileVisitOptions) 文件夹是否相等
fileContentEquals(Path path1, Path path2) fileContentEquals(Path path1, Path path2, LinkOption[] linkOptions, OpenOption[] openOptions) 文件内容是否相等
filter(PathFilter filter, Path... paths) 文件过滤
getAclEntryList(Path sourcePath) 用于读取文件访问控制列表(ACL)条目
getAclFileAttributeView(Path path, LinkOption... options) 用于管理文件访问控制列表(ACL)和所有者属性
getBaseName(Path path) 从文件路径中提取不带扩展名的文件名
getDosFileAttributeView(Path path, LinkOption... options) 用于管理 DOS/Windows 文件属性(如只读、隐藏、存档等)
getExtension(Path path) 获取扩展名
getFileName(Path path, Function<Path, R> function) 获取文件名
getFileNameString(Path path) 获取文件名
getLastModifiedFileTime(File file) getLastModifiedFileTime(Path path, FileTime defaultIfAbsent, LinkOption... options) getLastModifiedFileTime(Path path, LinkOption... options) getLastModifiedFileTime(URI uri) getLastModifiedFileTime(URL url) 获取最后修改时间
getPosixFileAttributeView(Path path, LinkOption... options) 用于管理 POSIX 文件系统权限和属性
getTempDirectory() 获取临时目录
isDirectory(Path path, LinkOption... options)
isEmpty(Path path) 判断是否为空
isEmptyDirectory(Path directory) 判断文件夹是否为空
isEmptyFile(Path file) 判断文件是否为空
isNewer(Path file, ChronoZonedDateTime<?> czdt, LinkOption... options) isNewer(Path file, FileTime fileTime, LinkOption... options) isNewer(Path file, Instant instant, LinkOption... options) isNewer(Path file, long timeMillis, LinkOption... options) isNewer(Path file, Path reference) 判断文件的最后修改时间是否晚于 time
isOlder(Path file, FileTime fileTime, LinkOption... options) isOlder(Path file, Instant instant, LinkOption... options) isOlder(Path file, long timeMillis, LinkOption... options) isOlder(Path file, Path reference) 判断文件的最后修改时间是否早于 time。
isPosix(Path test, LinkOption... options) 判断文件系统是否支持 POSIX 特性
isRegularFile(Path path, LinkOption... options) 判断路径是否为普通文件
newDirectoryStream(Path dir, PathFilter pathFilter) 创建目录流
newOutputStream(Path path, boolean append) 创建输出流
noFollowLinkOptionArray() 用于生成不跟随符号链接的 LinkOption[] 数组
readAttributes(Path path, Class type, LinkOption... options) 读取属性
readBasicFileAttributes(Path path) readBasicFileAttributes(Path path, LinkOption... options) 读取文件的基础属性(跨平台通用)
readDosFileAttributes(Path path, LinkOption... options) 读取 Windows 特有的 DOS 属性(仅在 Windows 文件系统有效)
readOsFileAttributes(Path path, LinkOption... options) 读取操作系统相关的扩展属性(平台依赖)
readPosixFileAttributes(Path path, LinkOption... options) 读取 POSIX 文件系统属性(Unix/Linux/macOS 等支持 POSIX 的系统)
readString(Path path, Charset charset) 读取字符串
setLastModifiedTime(Path sourceFile, Path targetFile) 设置最后修改时间
setReadOnly(Path path, boolean readOnly, LinkOption... linkOptions) 配置只读
sizeOf(Path path) 文件数量
sizeOfAsBigInteger(Path path) 文件数量
sizeOfDirectory(Path directory) 文件夹数量
sizeOfDirectoryAsBigInteger(Path directory) 文件夹数量
touch(Path file) 创建空文件或更新文件时间戳
visitFileTree(T visitor, Path directory) visitFileTree(T visitor, Path start, Set options, int maxDepth) visitFileTree(T visitor, String first, String... more) visitFileTree(T visitor, URI uri) 文件树遍历
waitFor(Path file, Duration timeout, LinkOption... options) 用于等待文件达到指定状态(如存在、可读或满足时间条件)。
walk(Path start, PathFilter pathFilter, int maxDepth, boolean readAttributes, FileVisitOption... options) 递归遍历目录树,返回所有文件和子目录的 Stream<Path>
writeString(Path path, CharSequence charSequence, Charset charset, OpenOption... openOptions) 写入字符串
相关推荐
爱吃烤鸡翅的酸菜鱼21 小时前
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
java·算法
计算机徐师兄21 小时前
Java基于SpringBoot的农场管理系统小程序【附源码、文档说明】
java·微信小程序·小程序·农场管理系统小程序·java农场管理系统小程序·java农场管理系统微信小程序·农场管理微信小程序
草字1 天前
uniapp 打开横竖屏。usb调试时可以横竖屏切换,但是打包发布后却不行?
java·前端·uni-app
Cg136269159741 天前
多态的定义
java·开发语言
云霄IT1 天前
新版电脑微信4.1.x.x小程序逆向之——寻找小程序存放位置目录和__APP__.wxapkg
java·微信·小程序
微信api接口介绍1 天前
微信社群管理开发
java·开发语言·网络·微信
「QT(C++)开发工程师」1 天前
C++语言编程规范-并发
java·linux·c++
Meteors.1 天前
23种设计模式——迭代器模式 (Iterator Pattern)详解
java·设计模式·迭代器模式
自由的疯1 天前
Java Jenkins+Docker部署jar包
java·后端·架构