| Package | Description |
|---|---|
| org.dromara.hutool.core.cache.file |
提供针对文件的缓存实现
|
| org.dromara.hutool.core.compress |
压缩解压封装
|
| org.dromara.hutool.core.io |
IO相关封装和工具类,包括Inputstream和OutputStream实现类,工具包括流工具IoUtil、文件工具FileUtil和Buffer工具BufferUtil
|
| org.dromara.hutool.core.io.checksum |
IO校验相关库和工具
|
| org.dromara.hutool.core.io.copy |
IO流拷贝相关封装相关封装
|
| org.dromara.hutool.core.io.file |
对文件读写的封装,包括文件拷贝、文件读取、文件写出、行处理等
|
| org.dromara.hutool.core.io.resource |
针对ClassPath和文件中资源读取的封装,主要入口为工具类ResourceUtil
|
| org.dromara.hutool.core.io.stream |
InputStream和OutputStream相关方法和类封装
|
| org.dromara.hutool.core.net |
网络相关工具
|
| org.dromara.hutool.core.net.ssl |
SSL相关封装
|
| org.dromara.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
AbstractFileCache.getFileBytes(File file)
获得缓存过的文件bytes
|
byte[] |
AbstractFileCache.getFileBytes(String path)
获得缓存过的文件bytes
|
| Modifier and Type | Method and Description |
|---|---|
ZipWriter |
ZipWriter.add(boolean withSrcDir,
FileFilter filter,
File... files)
对文件或文件目录进行压缩
|
ZipWriter |
ZipWriter.add(Resource... resources)
添加资源到压缩包,添加后关闭资源流
|
ZipWriter |
ZipWriter.add(String[] paths,
InputStream[] ins)
对流中的数据加入到压缩文件
路径列表和流列表长度必须一致 |
ZipWriter |
ZipWriter.add(String path,
InputStream in)
添加文件流到压缩包,添加后关闭输入文件流
如果输入流为 null,则只创建空目录 |
static void |
ZipUtil.append(Path zipPath,
Path appendFilePath,
CopyOption... options)
在zip文件中添加新文件或目录
新文件添加在zip根目录,文件夹包括其本身和内容 如果待添加文件夹是系统根路径(如/或c:/),则只复制文件夹下的内容 |
void |
ZipWriter.close() |
void |
ZipReader.close() |
static JarFile |
ZipUtil.ofJar(String jarFileUrl)
获取对应URL路径的jar文件,支持包括file://xxx这类路径
来自:org.springframework.core.io.support.PathMatchingResourcePatternResolver#getJarFile |
ZipReader |
ZipReader.read(Consumer<ZipEntry> consumer)
读取并处理Zip文件中的每一个
ZipEntry |
File |
ZipReader.readTo(File outFile)
解压到指定目录中
|
File |
ZipReader.readTo(File outFile,
Predicate<ZipEntry> entryFilter)
解压到指定目录中
|
static File |
ZipUtil.unzip(ZipFile zipFile,
File outFile)
解压
|
static File |
ZipUtil.unzip(ZipFile zipFile,
File outFile,
long limit)
限制解压后文件大小
|
static File |
ZipUtil.zip(File zipFile,
Charset charset,
boolean withSrcDir,
FileFilter filter,
File... srcFiles)
对文件或文件目录进行压缩
|
static void |
ZipUtil.zip(OutputStream out,
Charset charset,
boolean withSrcDir,
FileFilter filter,
File... srcFiles)
对文件或文件目录进行压缩
|
static void |
ZipUtil.zip(ZipOutputStream zipOutputStream,
String[] paths,
InputStream[] ins)
将文件流压缩到目标流中
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
IoUtil.contentEquals(InputStream input1,
InputStream input2)
对比两个流内容是否相同
内部会转换流为 BufferedInputStream |
static boolean |
IoUtil.contentEquals(Reader input1,
Reader input2)
对比两个Reader的内容是否一致
内部会转换流为 BufferedInputStream |
static boolean |
IoUtil.contentEqualsIgnoreEOL(Reader input1,
Reader input2)
对比两个流内容是否相同,忽略EOL字符
内部会转换流为 BufferedInputStream |
static long |
NioUtil.copy(FileChannel in,
FileChannel out)
拷贝文件Channel,使用NIO,拷贝后不会关闭channel
|
static long |
IoUtil.copy(FileInputStream in,
FileOutputStream out)
拷贝文件流,使用NIO
|
static long |
IoUtil.copy(InputStream in,
OutputStream out)
拷贝流,使用默认Buffer大小,拷贝后不关闭流
|
static long |
IoUtil.copy(InputStream in,
OutputStream out,
int bufferSize)
拷贝流,拷贝后不关闭流
|
static long |
IoUtil.copy(InputStream in,
OutputStream out,
int bufferSize,
long count,
StreamProgress streamProgress)
拷贝流,拷贝后不关闭流
|
static long |
IoUtil.copy(InputStream in,
OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流,拷贝后不关闭流
|
static long |
NioUtil.copy(ReadableByteChannel in,
WritableByteChannel out)
拷贝流,使用NIO,不会关闭channel
|
static long |
NioUtil.copy(ReadableByteChannel in,
WritableByteChannel out,
int bufferSize)
拷贝流,使用NIO,不会关闭channel
|
static long |
NioUtil.copy(ReadableByteChannel in,
WritableByteChannel out,
int bufferSize,
long totalCount,
StreamProgress streamProgress)
拷贝流,使用NIO,不会关闭channel
|
static long |
IoUtil.copy(Reader reader,
Writer writer)
将Reader中的内容复制到Writer中 使用默认缓存大小,拷贝后不关闭Reader
|
static long |
IoUtil.copy(Reader reader,
Writer writer,
int bufferSize)
将Reader中的内容复制到Writer中,拷贝后不关闭Reader
|
static long |
IoUtil.copy(Reader reader,
Writer writer,
int bufferSize,
long count,
StreamProgress streamProgress)
将Reader中的内容复制到Writer中,拷贝后不关闭Reader
|
static long |
IoUtil.copy(Reader reader,
Writer writer,
int bufferSize,
StreamProgress streamProgress)
将Reader中的内容复制到Writer中,拷贝后不关闭Reader
|
static long |
NioUtil.copyByNIO(InputStream in,
OutputStream out,
int bufferSize,
long count,
StreamProgress streamProgress)
拷贝流
本方法不会关闭流 |
static long |
NioUtil.copyByNIO(InputStream in,
OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流 thanks to: https://github.com/venusdrogon/feilong-io/blob/master/src/main/java/com/feilong/io/IOWriteUtil.java
本方法不会关闭流 |
static Manifest |
ManifestUtil.getManifest(Class<?> cls)
根据 class 获取 所在 jar 包文件的 Manifest
此方法主要利用class定位jar包,如引入hutool-all,则传入hutool中任意一个类即可获取这个jar的Manifest信息 如果这个类不在jar包中,返回 null |
static Manifest |
ManifestUtil.getManifest(File classpathItem)
获取 jar 包文件或项目目录下的 Manifest
|
static Manifest |
ManifestUtil.getManifest(JarFile jarFile)
根据
JarURLConnection 获取 jar 包文件的 Manifest |
static Manifest |
ManifestUtil.getManifest(JarURLConnection connection)
根据
JarURLConnection 获取 jar 包文件的 Manifest |
static String |
NioUtil.read(FileChannel fileChannel,
Charset charset)
从FileChannel中读取内容
|
static FastByteArrayOutputStream |
IoUtil.read(InputStream in)
从流中读取内容,读到输出流中,读取完毕后关闭流
|
static FastByteArrayOutputStream |
IoUtil.read(InputStream in,
boolean isClose)
从流中读取内容,读到输出流中,读取完毕后可选是否关闭流
|
static String |
IoUtil.read(InputStream in,
Charset charset)
从流中读取内容,读取完毕后关闭流
|
static FastByteArrayOutputStream |
NioUtil.read(ReadableByteChannel channel)
从流中读取内容,读到输出流中
|
static String |
NioUtil.read(ReadableByteChannel channel,
Charset charset)
从流中读取内容,读取完毕后并不关闭流
|
static String |
IoUtil.read(Reader reader)
从Reader中读取String,读取完毕后关闭Reader
|
static String |
IoUtil.read(Reader reader,
boolean isClose)
从
Reader中读取String |
static byte[] |
IoUtil.readBytes(InputStream in)
从流中读取bytes,读取完毕后关闭流
|
static byte[] |
IoUtil.readBytes(InputStream in,
boolean isClose)
从流中读取bytes
|
static byte[] |
IoUtil.readBytes(InputStream in,
int length)
读取指定长度的byte数组,不关闭流
|
static String |
IoUtil.readHex(InputStream in,
int length,
boolean toLowerCase)
读取16进制字符串
|
static void |
IoUtil.readLines(InputStream in,
Charset charset,
SerConsumer<String> lineHandler)
按行读取数据,针对每行的数据做处理
|
static <T extends Collection<String>> |
IoUtil.readLines(InputStream in,
Charset charset,
T collection)
从流中读取内容
|
static void |
IoUtil.readLines(Reader reader,
SerConsumer<String> lineHandler)
按行读取数据,针对每行的数据做处理
Reader自带编码定义,因此读取数据的编码跟随其编码。 |
static <T extends Collection<String>> |
IoUtil.readLines(Reader reader,
T collection)
从Reader中读取内容
|
static <T> T |
IoUtil.readObj(InputStream in,
Class<?>... acceptClasses)
从流中读取对象,即对象的反序列化,读取后不关闭流
注意!!!
|
static FastByteArrayOutputStream |
IoUtil.readToToken(InputStream in,
int token)
从流中读取内容,直到遇到给定token
|
static String |
NioUtil.readUtf8(FileChannel fileChannel)
从FileChannel中读取UTF-8编码内容
|
static String |
IoUtil.readUtf8(InputStream in)
从流中读取UTF8编码的内容
|
static void |
IoUtil.readUtf8Lines(InputStream in,
SerConsumer<String> lineHandler)
按行读取UTF-8编码数据,针对每行的数据做处理
|
static <T extends Collection<String>> |
IoUtil.readUtf8Lines(InputStream in,
T collection)
从流中读取内容,使用UTF-8编码
|
static void |
IoUtil.write(OutputStream out,
boolean isCloseOut,
byte[] content)
将byte[]写到流中
|
static void |
IoUtil.write(OutputStream out,
byte[] content)
将byte[]写到流中,并关闭目标流
|
static void |
IoUtil.writeClose(OutputStream out,
byte[] content)
将byte[]写到流中,并关闭目标流
|
static void |
IoUtil.writeObjects(OutputStream out,
boolean isCloseOut,
Object... contents)
将多部分内容写到流中
|
static void |
IoUtil.writeStrs(OutputStream out,
Charset charset,
boolean isCloseOut,
CharSequence... contents)
将多部分内容写到流中,自动转换为字符串
|
static void |
IoUtil.writeUtf8(OutputStream out,
boolean isCloseOut,
CharSequence... contents)
将多部分内容写到流中,自动转换为UTF-8字符串
|
| Modifier and Type | Method and Description |
|---|---|
static Checksum |
ChecksumUtil.checksum(File file,
Checksum checksum)
计算文件校验码
|
static Checksum |
ChecksumUtil.checksum(InputStream in,
Checksum checksum)
计算流的校验码,计算后关闭流
|
static long |
ChecksumUtil.checksumCRC32(File file)
计算文件CRC32校验码
|
static long |
ChecksumUtil.checksumCRC32(InputStream in)
计算流CRC32校验码,计算后关闭流
|
| Modifier and Type | Method and Description |
|---|---|
long |
FileChannelCopier.copy(FileInputStream in,
FileOutputStream out)
拷贝文件流,使用NIO
|
| Modifier and Type | Method and Description |
|---|---|
File |
FileWriter.append(byte[] data,
int off,
int len)
追加数据到文件
|
File |
FileWriter.append(String content)
将String写入文件,追加模式
|
static <T> File |
FileUtil.appendLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,追加模式,策略为:
当文件为空,从开头追加,尾部不加空行
当有内容,换行追加,尾部不加空行
当有内容,并末尾有空行,依旧换行追加
|
static <T> File |
FileUtil.appendLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,追加模式
|
<T> File |
FileWriter.appendLines(Iterable<T> list)
将列表写入文件,追加模式
|
static File |
FileUtil.appendString(String content,
File file,
Charset charset)
将String写入文件,追加模式
|
static File |
FileUtil.appendString(String content,
String path,
Charset charset)
将String写入文件,追加模式
|
static <T> File |
FileUtil.appendUtf8Lines(Collection<T> list,
File file)
将列表写入文件,追加模式
|
static <T> File |
FileUtil.appendUtf8Lines(Collection<T> list,
String path)
将列表写入文件,追加模式
|
static File |
FileUtil.appendUtf8String(String content,
File file)
将String写入文件,UTF-8编码追加模式
|
static File |
FileUtil.appendUtf8String(String content,
String path)
将String写入文件,UTF-8编码追加模式
|
static void |
FileUtil.clean(File directory)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static void |
FileUtil.clean(String dirPath)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static boolean |
FileUtil.cleanEmpty(File directory)
清理空文件夹
此方法用于递归删除空的文件夹,不删除文件 如果传入的文件夹本身就是空的,删除这个文件夹 |
static boolean |
FileUtil.contentEquals(File file1,
File file2)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容 此方法来自Apache Commons io |
static boolean |
FileUtil.contentEqualsIgnoreEOL(File file1,
File file2,
Charset charset)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容,比较内容采用按行读取,每行比较 此方法来自Apache Commons io |
Path |
PathCopier.copy()
复制src到target中
src路径和target路径相同时,不执行操作
src为文件,target为已存在目录,则拷贝到目录下,文件名不变。
|
static File |
FileUtil.copy(File src,
File target,
boolean isOverride)
复制文件或目录
情况如下: 1、src和dest都为目录,则将src目录及其目录下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下 |
static long |
FileUtil.copy(File src,
OutputStream out)
将文件写入流中,此方法不会关闭输出流
|
static File |
FileUtil.copy(InputStream src,
File target,
StandardCopyOption... options)
通过JDK7+的 Files#copy(InputStream, Path, CopyOption...)
|
static Path |
PathUtil.copy(InputStream src,
Path target,
CopyOption... options)
|
static long |
PathUtil.copy(Path src,
OutputStream out)
|
static Path |
PathUtil.copy(Path src,
Path target,
CopyOption... options)
复制src到target中
src路径和target路径相同时,不执行操作
src为文件,target为已存在目录,则拷贝到目录下,文件名不变。
|
static File |
FileUtil.copy(Resource src,
File target,
boolean isOverride)
拷贝资源到目标文件
如果src为
FileResource,调用文件拷贝。 |
static Path |
PathUtil.copy(Resource src,
Path target,
CopyOption... options)
拷贝资源到目标文件
如果src为
FileResource,调用文件拷贝。 |
static File |
FileUtil.copy(String srcPath,
String targetPath,
boolean isOverride)
复制文件或目录
如果目标文件为目录,则将源文件以相同文件名拷贝到目标目录 |
Path |
PathCopier.copyContent()
复制src的内容到target中
src路径和target路径相同时,不执行操作
src为文件,target为已存在目录,则拷贝到目录下,文件名不变。
|
static File |
FileUtil.copyContent(File src,
File target,
boolean isOverride)
复制文件或目录
情况如下: 1、src和dest都为目录,则将src下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下 |
static Path |
PathUtil.copyContent(Path src,
Path target,
CopyOption... options)
复制src的内容到target中
src路径和target路径相同时,不执行操作
src为文件,target为已存在目录,则拷贝到目录下,文件名不变。
|
static File |
FileUtil.createTempFile()
在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Random].tmp。
|
static File |
FileUtil.createTempFile(File dir)
创建临时文件
创建后的文件名为 prefix[Random].tmp |
static File |
FileUtil.createTempFile(File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Random].tmp |
static File |
FileUtil.createTempFile(String suffix,
boolean isReCreat)
在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Random].suffix。
|
static File |
FileUtil.createTempFile(String prefix,
String suffix,
boolean isReCreat)
在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Random].suffix。
|
static File |
FileUtil.createTempFile(String prefix,
String suffix,
File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Random].suffix From com.jodd.io.FileUtil |
static Path |
PathUtil.createTempFile(String prefix,
String suffix,
Path dir)
创建临时文件
创建后的文件名为 prefix[Random].suffix From com.jodd.io.FileUtil |
void |
PathDeleter.del()
删除文件或者文件夹,不追踪软链
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static void |
FileUtil.del(File file)
删除文件或者文件夹
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static void |
PathUtil.del(Path path)
删除文件或者文件夹,不追踪软链
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static void |
FileUtil.del(String fullFileOrDirPath)
删除文件或者文件夹
路径如果为相对路径,会转换为ClassPath路径! |
static boolean |
FileUtil.equals(File file1,
File file2)
检查两个文件是否是同一个文件
所谓文件相同,是指File对象是否指向同一个文件或文件夹,规则为: 当两个文件都为 null时,返回true
当两个文件都存在时,检查是否为同一个文件
当两个文件都不存在时,检查路径是否一致
|
static boolean |
PathUtil.equals(Path file1,
Path file2)
检查两个文件是否是同一个文件
所谓文件相同,是指Path对象是否指向同一个文件或文件夹 当两个文件都为 null时,返回true
当两个文件都存在时,检查是否为同一个文件
当两个文件都不存在时,检查Path对象是否equals
|
static BasicFileAttributes |
PathUtil.getAttributes(Path path,
boolean isFollowLinks)
获取文件属性
|
static BOMInputStream |
FileUtil.getBOMInputStream(File file)
获得BOM输入流,用于处理带BOM头的文件
|
BufferedInputStream |
FileReader.getInputStream()
获得输入流
|
static BufferedInputStream |
FileUtil.getInputStream(File file)
获得输入流
|
static BufferedInputStream |
PathUtil.getInputStream(Path path)
获得输入流
|
static BufferedInputStream |
FileUtil.getInputStream(String path)
获得输入流
|
static BufferedOutputStream |
FileUtil.getOutputStream(File file,
OpenOption... options)
获得一个输出流对象
|
BufferedOutputStream |
FileWriter.getOutputStream(OpenOption... options)
获得一个输出流对象
|
static BufferedOutputStream |
PathUtil.getOutputStream(Path path,
OpenOption... options)
获得输出流
|
static BufferedOutputStream |
FileUtil.getOutputStream(String path,
OpenOption... options)
获得一个输出流对象
|
PrintWriter |
FileWriter.getPrintWriter(boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
FileUtil.getPrintWriter(File file,
Charset charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
FileUtil.getPrintWriter(String path,
Charset charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
BufferedReader |
FileReader.getReader()
获得一个文件读取器
|
static BufferedReader |
FileUtil.getReader(File file,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
PathUtil.getReader(Path path,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
FileUtil.getReader(String path,
Charset charset)
获得一个文件读取器
|
static String |
FileUtil.getType(File file)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为docx、xlsx、pptx、jar、war头信息无法区分,按照扩展名区分
|
static String |
FileTypeUtil.getType(File file)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
|
static String |
FileTypeUtil.getType(File file,
boolean isExact)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
|
static String |
FileTypeUtil.getType(InputStream in)
|
static String |
FileTypeUtil.getType(InputStream in,
boolean isExact)
|
static String |
FileTypeUtil.getType(InputStream in,
int fileHeadSize)
根据文件流的头部信息获得文件类型
|
static String |
FileTypeUtil.getType(InputStream in,
String filename)
根据文件流的头部信息获得文件类型
注意此方法会读取头部64个bytes,造成此流接下来读取时缺少部分bytes
因此如果想复用此流,流需支持 InputStream.reset()方法。 |
static String |
FileTypeUtil.getType(InputStream in,
String filename,
boolean isExact)
根据文件流的头部信息获得文件类型
注意此方法会读取头部一些bytes,造成此流接下来读取时缺少部分bytes
因此如果想复用此流,流需支持 InputStream.reset()方法。 |
static String |
FileTypeUtil.getTypeByPath(String path)
通过路径获得文件类型
|
static String |
FileTypeUtil.getTypeByPath(String path,
boolean isExact)
通过路径获得文件类型
|
static BufferedReader |
FileUtil.getUtf8Reader(File file)
获得一个文件读取器
|
static BufferedReader |
PathUtil.getUtf8Reader(Path path)
获得一个文件读取器
|
static BufferedReader |
FileUtil.getUtf8Reader(String path)
获得一个文件读取器
|
BufferedWriter |
FileWriter.getWriter(boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
FileUtil.getWriter(File file,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
FileUtil.getWriter(String path,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static boolean |
PathUtil.isSameFile(Path file1,
Path file2)
检查两个文件是否是同一个文件
所谓文件相同,是指Path对象是否指向同一个文件或文件夹 |
static List<String> |
FileUtil.listFileNames(String path)
获得指定目录下所有文件
不会扫描子目录 如果用户传入相对路径,则是相对classpath的路径 如:"test/aaa"表示"${classpath}/test/aaa" |
static File |
FileUtil.move(File src,
File target,
boolean isOverride)
移动文件或目录到目标中,例如:
如果src为文件,target为目录,则移动到目标目录下,存在同名文件则按照是否覆盖参数执行。
|
static <T> T |
FileUtil.read(File file,
Charset charset,
SerFunction<BufferedReader,T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
<T> T |
FileReader.read(SerFunction<BufferedReader,T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtil.read(String path,
Charset charset,
SerFunction<BufferedReader,T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
byte[] |
FileReader.readBytes()
读取文件所有数据
文件的长度不能超过 Integer.MAX_VALUE |
static byte[] |
FileUtil.readBytes(File file)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE |
static byte[] |
FileUtil.readBytes(String filePath)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE |
List<String> |
FileReader.readLines()
从文件中读取每一行数据
|
static List<String> |
FileUtil.readLines(File file,
Charset charset)
从文件中读取每一行数据
|
static void |
FileUtil.readLines(File file,
Charset charset,
SerConsumer<String> lineHandler)
按行处理文件内容
|
static <T extends Collection<String>> |
FileUtil.readLines(File file,
Charset charset,
T collection)
从文件中读取每一行数据
|
void |
FileReader.readLines(SerConsumer<String> lineHandler)
按照行处理文件内容
|
static List<String> |
FileUtil.readLines(String path,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtil.readLines(String path,
Charset charset,
T collection)
从文件中读取每一行数据
|
<T extends Collection<String>> |
FileReader.readLines(T collection)
从文件中读取每一行数据
|
<T extends Collection<String>> |
FileReader.readLines(T collection,
Predicate<String> predicate)
从文件中读取每一行数据
|
static List<String> |
FileUtil.readLines(URL url,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtil.readLines(URL url,
Charset charset,
T collection)
从文件中读取每一行数据
|
String |
FileReader.readString()
读取文件内容
|
static String |
FileUtil.readString(File file,
Charset charset)
读取文件内容
|
static String |
FileUtil.readString(String path,
Charset charset)
读取文件内容
|
static String |
FileUtil.readString(URL url,
Charset charset)
读取文件内容
|
static <T> T |
FileUtil.readUtf8(File file,
SerFunction<BufferedReader,T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtil.readUtf8(String path,
SerFunction<BufferedReader,T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static List<String> |
FileUtil.readUtf8Lines(File file)
从文件中读取每一行数据
|
static void |
FileUtil.readUtf8Lines(File file,
SerConsumer<String> lineHandler)
按行处理文件内容,编码为UTF-8
|
static <T extends Collection<String>> |
FileUtil.readUtf8Lines(File file,
T collection)
从文件中读取每一行数据,数据编码为UTF-8
|
static List<String> |
FileUtil.readUtf8Lines(String path)
从文件中读取每一行数据,编码为UTF-8
|
static <T extends Collection<String>> |
FileUtil.readUtf8Lines(String path,
T collection)
从文件中读取每一行的UTF-8编码数据
|
static List<String> |
FileUtil.readUtf8Lines(URL url)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtil.readUtf8Lines(URL url,
T collection)
从文件中读取每一行数据,编码为UTF-8
|
static String |
FileUtil.readUtf8String(File file)
读取文件内容
|
static String |
FileUtil.readUtf8String(String path)
读取文件内容
|
static Path |
PathUtil.toRealPath(Path path)
获取实际路径,路径文件必须存在
如果给定Path是软链接(符号链接),则返回指向的实际链接 如果路径不存在,会直接抛出NoSuchFileException异常 无论给定是何种类型的路径,返回都是唯一的路径(总是equals) |
static File |
FileUtil.touch(File file)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtil.touch(File parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtil.touch(String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtil.touch(String parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
File |
FileWriter.write(byte[] data,
int off,
int len)
写入数据到文件
|
File |
FileWriter.write(byte[] data,
int off,
int len,
boolean isAppend)
写入数据到文件
|
File |
FileWriter.write(String content)
将String写入文件,覆盖模式
|
File |
FileWriter.write(String content,
boolean isAppend)
将String写入文件
|
static File |
FileUtil.writeBytes(byte[] data,
File dest)
写数据到文件中
|
static File |
FileUtil.writeBytes(byte[] data,
File target,
int off,
int len,
boolean isAppend)
写入数据到文件
|
static File |
FileUtil.writeBytes(byte[] data,
String path)
写数据到文件中
文件路径如果是相对路径,则相对ClassPath |
File |
FileWriter.writeFromStream(InputStream in)
将流的内容写入文件
此方法会自动关闭输入流 |
File |
FileWriter.writeFromStream(InputStream in,
boolean isCloseIn,
OpenOption... options)
将流的内容写入文件
|
static File |
FileUtil.writeFromStream(InputStream in,
File target)
将流的内容写入文件
此方法会自动关闭输入流 |
static File |
FileUtil.writeFromStream(InputStream in,
File target,
boolean isCloseIn)
将流的内容写入文件
|
static <T> File |
FileUtil.writeLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtil.writeLines(Collection<T> list,
File file,
Charset charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
FileUtil.writeLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtil.writeLines(Collection<T> list,
String path,
Charset charset,
boolean isAppend)
将列表写入文件
|
<T> File |
FileWriter.writeLines(Iterable<T> list)
将列表写入文件,覆盖模式
|
<T> File |
FileWriter.writeLines(Iterable<T> list,
boolean isAppend)
将列表写入文件
|
<T> File |
FileWriter.writeLines(Iterable<T> list,
LineSeparator lineSeparator,
boolean isAppend)
将列表写入文件
|
static File |
FileUtil.writeMap(Map<?,?> map,
File file,
Charset charset,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
File |
FileWriter.writeMap(Map<?,?> map,
LineSeparator lineSeparator,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
File |
FileWriter.writeMap(Map<?,?> map,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static File |
FileUtil.writeString(String content,
File file,
Charset charset)
将String写入文件,覆盖模式
|
static File |
FileUtil.writeString(String content,
String path,
Charset charset)
将String写入文件,覆盖模式
|
static long |
FileUtil.writeToStream(File file,
OutputStream out)
将文件写入流中,此方法不会关闭输出流
|
long |
FileReader.writeToStream(OutputStream out)
将文件写入流中,此方法不会关闭比输出流
|
long |
FileReader.writeToStream(OutputStream out,
boolean isCloseOut)
将文件写入流中
|
static <T> File |
FileUtil.writeUtf8Lines(Collection<T> list,
File file)
将列表写入文件,覆盖模式,编码为UTF-8
|
static <T> File |
FileUtil.writeUtf8Lines(Collection<T> list,
String path)
将列表写入文件,覆盖模式,编码为UTF-8
|
static File |
FileUtil.writeUtf8Map(Map<?,?> map,
File file,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static File |
FileUtil.writeUtf8String(String content,
File file)
将String写入文件,覆盖模式,字符集为UTF-8
|
static File |
FileUtil.writeUtf8String(String content,
String path)
将String写入文件,覆盖模式,字符集为UTF-8
|
| Modifier and Type | Class and Description |
|---|---|
class |
NoResourceException
资源文件或资源不存在异常
|
| Modifier and Type | Method and Description |
|---|---|
JarFile |
JarResource.getJarFile()
获取URL对应的
JarFile对象 |
static URL |
ResourceUtil.getResourceUrl(String resource)
获得资源的URL
路径用/分隔,例如: config/a/db.config spring/xml/test.xml |
default byte[] |
Resource.readBytes()
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
byte[] |
MultiResource.readBytes() |
byte[] |
BytesResource.readBytes() |
default String |
Resource.readStr(Charset charset)
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
String |
MultiResource.readStr(Charset charset) |
String |
BytesResource.readStr(Charset charset) |
default String |
Resource.readUtf8Str()
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
String |
MultiResource.readUtf8Str() |
default void |
Resource.writeTo(OutputStream out)
将资源内容写出到流,不关闭输出流,但是关闭资源流
|
| Modifier and Type | Method and Description |
|---|---|
FastByteArrayOutputStream |
StreamReader.read()
从流中读取内容,读到输出流中,读取完毕后可选是否关闭流
|
FastByteArrayOutputStream |
StreamReader.read(int limit)
从流中读取内容,读到输出流中,读取完毕后可选是否关闭流
|
byte[] |
StreamReader.readBytes()
从流中读取bytes
|
byte[] |
StreamReader.readBytes(int length)
读取指定长度的byte数组
|
byte[] |
LineInputStream.readLine()
读取一行
|
String |
LineInputStream.readLine(Charset charset)
读取一行
|
<T> T |
StreamReader.readObj(Class<?>... acceptClasses)
从流中读取对象,即对象的反序列化
注意!!!
|
FastByteArrayOutputStream |
StreamReader.readTo(Predicate<Integer> predicate)
从流中读取内容,直到遇到给定token满足
Predicate.test(Object) |
void |
StreamWriter.write(byte[] content)
将byte[]写到流中
|
void |
StreamWriter.writeObjs(Object... contents)
将多部分对象写到流中,使用
ObjectOutputStream,对象必须实现序列化接口 |
void |
StreamWriter.writeStrs(Charset charset,
CharSequence... contents)
将多部分内容写到流中,自动转换为字符串
|
void |
FastByteArrayOutputStream.writeTo(OutputStream out)
写出
|
| Modifier and Type | Method and Description |
|---|---|
static void |
NetUtil.netCat(String host,
int port,
boolean isBlock,
ByteBuffer data)
简易的使用Socket发送数据
|
static void |
NetUtil.netCat(String host,
int port,
byte[] data)
使用普通Socket发送数据
|
| Modifier and Type | Method and Description |
|---|---|
SSLContext |
SSLContextBuilder.buildQuietly()
|
static SSLContext |
SSLContextUtil.createSSLContext(String protocol,
KeyManager[] keyManagers,
TrustManager[] trustManagers)
创建和初始化
SSLContext |
static SSLContext |
SSLContextUtil.createSSLContext(String protocol,
KeyManager keyManager,
TrustManager trustManager)
|
static SSLContext |
SSLContextUtil.createTrustAnySSLContext()
创建
SSLContext,信任全部,协议为TLS |
static SSLContext |
SSLContextUtil.createTrustAnySSLContext(String protocol)
创建
SSLContext,信任全部 |
| Modifier and Type | Method and Description |
|---|---|
static List<String> |
RuntimeUtil.execForLines(Charset charset,
String... cmds)
执行系统命令,使用传入的
charset 编码 |
static List<String> |
RuntimeUtil.execForLines(String... cmds)
执行系统命令,使用系统默认编码
|
static String |
RuntimeUtil.execForStr(Charset charset,
String... cmds)
执行系统命令,使用传入的
charset 编码 |
static String |
RuntimeUtil.execForStr(String... cmds)
执行系统命令,使用系统默认编码
|
Copyright © 2024. All rights reserved.