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等
|
org.dromara.hutool.crypto.asymmetric |
非对称加密的实现,包括RSA等
|
org.dromara.hutool.crypto.bc |
BouncyCastle库相关工具封装
|
org.dromara.hutool.crypto.digest |
摘要加密算法实现,入口为DigestUtil
|
org.dromara.hutool.crypto.openssl |
OpenSSL相关封装
|
org.dromara.hutool.crypto.symmetric |
对称加密算法实现,包括AES、DES、DESede等
|
org.dromara.hutool.extra.compress.archiver |
基于commons-compress的打包(压缩)封装
见:https://commons.apache.org/proper/commons-compress/
|
org.dromara.hutool.extra.ftp |
基于Apache Commons Net封装的FTP工具
|
org.dromara.hutool.extra.ssh.engine.ganymed |
Ganymed-SSH2(https://www.ganymed.ethz.ch/ssh2/) 引擎封装
|
org.dromara.hutool.extra.ssh.engine.mina |
Apache MINA SSHD(https://mina.apache.org/sshd-project/) 引擎封装
|
org.dromara.hutool.extra.ssh.engine.sshj |
SSH 引擎封装
|
org.dromara.hutool.http.client.body |
请求体封装实现
|
org.dromara.hutool.http.client.engine.jdk |
基于JDK的HttpUrlConnection封装的HTTP客户端
|
org.dromara.hutool.http.multipart |
文件上传封装
|
org.dromara.hutool.http.server.engine.sun |
HttpServer 引擎实现包 |
org.dromara.hutool.http.server.handler |
HTTP服务器请求和响应处理器的统一封装
|
org.dromara.hutool.http.server.servlet |
Servlet封装,包括Servlet参数获取、文件上传、Response写出等,入口为ServletUtil
|
org.dromara.hutool.json |
JSON(JavaScript Object Notation JavaScript对象表示法)封装
规范见:https://www.rfc-editor.org/rfc/rfc8259 包含以下组件: JSONObject: 使用键值对表示的数据类型,使用"{}"包围 JSONArray: 使用列表表示的数据类型,使用"[]"包围 JSONPrimitive:表示boolean、String、Number等原始类型 JSON封装主要包括JSON表示和JSON转换:
<-----JSONMapper----- <---JSONParser----
Java对象 <====================> JSON对象 <=================> JSON字符串
-----JSONMapper-----> ---JSONWriter---->
当然,为了高效转换,如果没有自定义需求,Java对象可以不通过JSON对象与JSON字符串转换:
JSONTokener:JSON字符串底层解析器,通过Stream方式读取JSON字符串并对不同字段自定义处理。 |
org.dromara.hutool.json.support |
JSON的支持类,如用于转换和BeanPath操作的对象,还有用于格式化的对象等
|
org.dromara.hutool.json.writer |
JSON对象自定义转JSON字符串实现
|
org.dromara.hutool.poi.csv |
提供CSV文件读写的封装,入口为CsvUtil
规范见:https://datatracker.ietf.org/doc/html/rfc4180 |
org.dromara.hutool.poi.excel |
POI中对Excel读写的封装,入口为ExcelUtil
|
org.dromara.hutool.poi.excel.sax |
Sax方式操作Excel方式的封装
|
org.dromara.hutool.poi.excel.writer |
Excel生成封装
|
org.dromara.hutool.poi.word |
POI中对Word操作封装
|
org.dromara.hutool.setting.props |
配置文件实现封装,例如Properties封装Props
|
org.dromara.hutool.setting.toml |
TOML(Tom's Obvious, Minimal Language)配置文件解析和生成
规范:https://toml.io/cn/
参考实现:https://github.com/TheElectronWill/TOML-javalib
|
org.dromara.hutool.socket |
Socket套接字相关工具类封装
|
org.dromara.hutool.swing.captcha |
图片验证码实现
|
org.dromara.hutool.swing.img |
图像处理相关工具类封装
|
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(KeyManager[] keyManagers,
TrustManager[] trustManagers)
创建和初始化
SSLContext |
static SSLContext |
SSLContextUtil.createSSLContext(KeyStore keyStore,
char[] password)
创建和初始化
SSLContext |
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)
执行系统命令,使用系统默认编码
|
Modifier and Type | Method and Description |
---|---|
byte[] |
SM2.decrypt(InputStream in)
使用私钥解密
|
default byte[] |
AsymmetricDecryptor.decrypt(InputStream data,
KeyType keyType)
解密
|
byte[] |
SM2.encrypt(InputStream in)
使用公钥加密,SM2非对称加密的结果由C1,C3,C2三部分组成,其中:
C1 生成随机数的计算出的椭圆曲线点
C3 SM3的摘要值
C2 密文数据
|
default byte[] |
AsymmetricEncryptor.encrypt(InputStream data,
KeyType keyType)
加密
|
String |
SM2.encryptBase64(InputStream in)
使用公钥加密,SM2非对称加密的结果由C1,C3,C2三部分组成,其中:
C1 生成随机数的计算出的椭圆曲线点
C3 SM3的摘要值
C2 密文数据
|
Modifier and Type | Method and Description |
---|---|
static org.bouncycastle.openssl.PEMKeyPair |
OpensslKeyUtil.decrypt(org.bouncycastle.openssl.PEMEncryptedKeyPair pemEncryptedKeyPair,
char[] password)
解密
PEMEncryptedKeyPair 为PEMKeyPair |
Modifier and Type | Method and Description |
---|---|
byte[] |
Digester.digest(InputStream data,
int bufferLength)
生成摘要
|
Modifier and Type | Method and Description |
---|---|
static byte[] |
SaltMagic.getSalt(InputStream in)
获取流中的加盐值
不关闭流 |
Modifier and Type | Method and Description |
---|---|
default byte[] |
SymmetricDecryptor.decrypt(InputStream data)
解密,会关闭流
|
void |
SymmetricCrypto.decrypt(InputStream data,
OutputStream out,
boolean isClose) |
default byte[] |
SymmetricEncryptor.encrypt(InputStream data)
加密,加密后关闭流
|
void |
SymmetricCrypto.encrypt(InputStream data,
OutputStream out,
boolean isClose) |
Modifier and Type | Method and Description |
---|---|
StreamArchiver |
StreamArchiver.add(File file,
String path,
Function<String,String> fileNameEditor,
Predicate<File> predicate) |
Modifier and Type | Method and Description |
---|---|
boolean |
CommonsFtp.delDir(String dirPath) |
boolean |
CommonsFtp.delFile(String path) |
void |
CommonsFtp.download(String path,
String fileName,
File outFile)
下载文件
|
boolean |
CommonsFtp.download(String path,
String fileName,
OutputStream out,
Charset fileNameCharset)
下载文件到输出流
|
boolean |
CommonsFtp.existFile(String path)
判断ftp服务器目录内是否还有子元素(目录或文件)
|
InputStream |
CommonsFtp.getFileStream(String dir,
String fileName)
读取文件为输入流
|
org.apache.commons.net.ftp.FTPFile[] |
CommonsFtp.lsFiles(String path)
遍历某个目录下所有文件和目录,不会递归遍历
|
boolean |
CommonsFtp.mkdir(String dir) |
int |
CommonsFtp.stat(String path)
获取服务端目录状态。
|
boolean |
CommonsFtp.uploadFile(String remotePath,
String fileName,
File file)
上传文件到指定目录,可选:
1. remotePath为null或""上传到当前路径
2. remotePath为相对路径则相对于当前路径的子路径
3. remotePath为绝对路径则上传到此路径
|
boolean |
CommonsFtp.uploadFile(String remotePath,
String fileName,
InputStream fileStream)
上传文件到指定目录,可选:
1. remotePath为null或""上传到当前路径
2. remotePath为相对路径则相对于当前路径的子路径
3. remotePath为绝对路径则上传到此路径
|
Modifier and Type | Method and Description |
---|---|
void |
GanymedSession.bindLocalPort(InetSocketAddress localAddress,
InetSocketAddress remoteAddress) |
void |
GanymedSession.bindRemotePort(InetSocketAddress remoteAddress,
InetSocketAddress localAddress) |
void |
GanymedSession.unBindLocalPort(InetSocketAddress localAddress) |
void |
GanymedSession.unBindRemotePort(InetSocketAddress remoteAddress) |
Modifier and Type | Method and Description |
---|---|
void |
MinaSession.bindLocalPort(InetSocketAddress localAddress,
InetSocketAddress remoteAddress) |
void |
MinaSession.bindRemotePort(InetSocketAddress remoteAddress,
InetSocketAddress localAddress) |
void |
MinaSession.unBindLocalPort(InetSocketAddress localAddress) |
void |
MinaSession.unBindRemotePort(InetSocketAddress remoteAddress) |
Modifier and Type | Method and Description |
---|---|
void |
SshjSession.bindLocalPort(InetSocketAddress localAddress,
InetSocketAddress remoteAddress) |
void |
SshjSession.bindRemotePort(InetSocketAddress remoteAddress,
InetSocketAddress localAddress) |
void |
SshjSession.unBindLocalPort(InetSocketAddress localAddress) |
Modifier and Type | Method and Description |
---|---|
void |
MultipartOutputStream.finish()
上传表单结束
|
MultipartOutputStream |
MultipartOutputStream.write(String formFieldName,
Object value)
添加Multipart表单的数据项
--分隔符(boundary)[换行] Content-Disposition: form-data; name="参数名"[换行] [换行] 参数值[换行] 或者: --分隔符(boundary)[换行] Content-Disposition: form-data; name="表单名"; filename="文件名"[换行] Content-Type: MIME类型[换行] [换行] 文件的二进制内容[换行] |
Modifier and Type | Method and Description |
---|---|
static HttpURLConnection |
HttpUrlConnectionUtil.openHttp(URL url,
Proxy proxy)
初始化http或https请求参数
有些时候https请求会出现com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl的实现,此为sun内部api,按照普通http请求处理 |
Modifier and Type | Method and Description |
---|---|
byte[] |
UploadFile.getFileContent() |
InputStream |
UploadFile.getFileInputStream() |
File |
UploadFile.write(File destination)
将上传的文件写入目标文件
写入后原临时文件会被删除 |
File |
UploadFile.write(String destPath)
将上传的文件写入指定的目标文件路径,自动创建文件
写入后原临时文件会被删除 |
Modifier and Type | Method and Description |
---|---|
MultipartFormData |
SunServerRequest.getMultipart() |
Modifier and Type | Method and Description |
---|---|
default MultipartFormData |
ServerRequest.getMultipart()
获得MultiPart表单内容,多用于获得上传的文件
|
default MultipartFormData |
ServerRequest.parseMultipart(UploadSetting uploadSetting)
获得multipart/form-data 表单内容
包括文件和普通表单数据 在同一次请求中,此方法只能被执行一次! |
Modifier and Type | Method and Description |
---|---|
static MultipartFormData |
ServletUtil.getMultipart(jakarta.servlet.ServletRequest request)
获得MultiPart表单内容,多用于获得上传的文件 在同一次请求中,此方法只能被执行一次!
|
static MultipartFormData |
JavaxServletUtil.getMultipart(javax.servlet.ServletRequest request)
获得MultiPart表单内容,多用于获得上传的文件 在同一次请求中,此方法只能被执行一次!
|
static MultipartFormData |
ServletUtil.getMultipart(jakarta.servlet.ServletRequest request,
UploadSetting uploadSetting)
获得multipart/form-data 表单内容
包括文件和普通表单数据 在同一次请求中,此方法只能被执行一次! |
static MultipartFormData |
JavaxServletUtil.getMultipart(javax.servlet.ServletRequest request,
UploadSetting uploadSetting)
获得multipart/form-data 表单内容
包括文件和普通表单数据 在同一次请求中,此方法只能被执行一次! |
static PrintWriter |
ServletUtil.getWriter(jakarta.servlet.http.HttpServletResponse response)
获得PrintWriter
|
static PrintWriter |
JavaxServletUtil.getWriter(javax.servlet.http.HttpServletResponse response)
获得PrintWriter
|
Modifier and Type | Method and Description |
---|---|
static JSON |
JSONUtil.readJSON(File file,
Charset charset)
读取JSON
|
static JSONArray |
JSONUtil.readJSONArray(File file,
Charset charset)
读取JSONArray
|
static JSONObject |
JSONUtil.readJSONObject(File file,
Charset charset)
读取JSONObject
|
Modifier and Type | Method and Description |
---|---|
static void |
InternalJSONUtil.quote(CharSequence str,
Appendable appendable)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
static Appendable |
InternalJSONUtil.quote(CharSequence str,
Appendable appendable,
boolean isWrap)
对所有双引号做转义处理(使用双反斜杠做转义)
为了能在HTML中较好的显示,会将</转义为<\/ JSON字符串中不能包含控制字符和未经转义的引号和反斜杠 |
Modifier and Type | Method and Description |
---|---|
JSONWriter |
JSONWriter.append(char c) |
JSONWriter |
JSONWriter.append(CharSequence csq) |
JSONWriter |
JSONWriter.append(CharSequence csq,
int start,
int end) |
Modifier and Type | Method and Description |
---|---|
void |
CsvWriter.flush() |
CsvRow |
CsvParser.nextRow()
读取下一行数据
|
protected CsvParser |
CsvBaseReader.parse(Reader reader)
构建
CsvParser |
CsvData |
CsvReader.read()
读取CSV文件,此方法只能调用一次
调用此方法的前提是构造中传入文件路径或Reader |
CsvData |
CsvBaseReader.read(File file)
读取CSV文件,默认UTF-8编码
|
CsvData |
CsvBaseReader.read(File file,
Charset charset)
读取CSV文件
|
CsvData |
CsvBaseReader.read(Path path)
读取CSV文件,默认UTF-8编码
|
CsvData |
CsvBaseReader.read(Path path,
Charset charset)
读取CSV文件
|
CsvData |
CsvBaseReader.read(Reader reader,
boolean closeReader)
从Reader中读取CSV数据,读取后关闭Reader
|
void |
CsvBaseReader.read(Reader reader,
boolean closeReader,
SerConsumer<CsvRow> rowHandler)
从Reader中读取CSV数据,读取后关闭Reader
|
void |
CsvReader.read(SerConsumer<CsvRow> rowHandler)
读取CSV数据,此方法只能调用一次
调用此方法的前提是构造中传入文件路径或Reader |
List<Map<String,String>> |
CsvBaseReader.readMapList(Reader reader,
boolean closeReader)
从Reader中读取CSV数据,结果为Map,读取后关闭Reader。
|
CsvWriter |
CsvWriter.write(Iterable<?> lines)
将多行写出到Writer
|
CsvWriter |
CsvWriter.write(String[]... lines)
将多行写出到Writer
|
CsvWriter |
CsvWriter.writeHeaderLine(String... fields)
写出一行头部行,支持标题别名
|
CsvWriter |
CsvWriter.writeLine()
追加新行(换行)
|
CsvWriter |
CsvWriter.writeLine(String... fields)
写出一行
|
Modifier and Type | Method and Description |
---|---|
static void |
WorkbookUtil.writeBook(org.apache.poi.ss.usermodel.Workbook book,
OutputStream out)
将Excel Workbook刷出到输出流,不关闭流
|
Modifier and Type | Method and Description |
---|---|
static void |
ExcelSaxUtil.readFrom(InputStream xmlDocStream,
ContentHandler handler)
从Excel的XML文档中读取内容,并使用
ContentHandler 处理 |
Modifier and Type | Method and Description |
---|---|
ExcelWriter |
ExcelWriter.flush()
将Excel Workbook刷出到预定义的文件
如果用户未自定义输出的文件,将抛出 NullPointerException 预定义文件可以通过 ExcelWriter.setTargetFile(File) 方法预定义,或者通过构造定义 |
ExcelWriter |
ExcelWriter.flush(boolean override)
将Excel Workbook刷出到预定义的文件
如果用户未自定义输出的文件,将抛出 NullPointerException 预定义文件可以通过 ExcelWriter.setTargetFile(File) 方法预定义,或者通过构造定义 |
ExcelWriter |
ExcelWriter.flush(File targetFile,
boolean override)
将Excel Workbook刷出到文件
如果用户未自定义输出的文件,将抛出 NullPointerException |
ExcelWriter |
ExcelWriter.flush(OutputStream out)
将Excel Workbook刷出到输出流
|
ExcelWriter |
ExcelWriter.flush(OutputStream out,
boolean isCloseOut)
将Excel Workbook刷出到输出流
|
ExcelWriter |
BigExcelWriter.flush(OutputStream out,
boolean isCloseOut) |
Modifier and Type | Method and Description |
---|---|
Word07Writer |
Word07Writer.flush()
将Excel Workbook刷出到预定义的文件
如果用户未自定义输出的文件,将抛出 NullPointerException 预定义文件可以通过 Word07Writer.setTargetFile(File) 方法预定义,或者通过构造定义 |
Word07Writer |
Word07Writer.flush(File destFile)
将Excel Workbook刷出到文件
如果用户未自定义输出的文件,将抛出 NullPointerException |
Word07Writer |
Word07Writer.flush(OutputStream out)
将Word Workbook刷出到输出流
|
Word07Writer |
Word07Writer.flush(OutputStream out,
boolean isCloseOut)
将Word Document刷出到输出流
|
Modifier and Type | Method and Description |
---|---|
void |
Props.store(String absolutePath)
持久化当前设置,会覆盖掉之前的设置
|
Modifier and Type | Method and Description |
---|---|
void |
TomlWriter.write(Map<String,Object> data)
Writes the specified data in the TOML format.
|
Modifier and Type | Method and Description |
---|---|
static Socket |
SocketUtil.connect(InetSocketAddress address,
int connectionTimeout)
创建Socket并连接到指定地址的服务器
|
static Socket |
SocketUtil.connect(String hostname,
int port)
创建Socket并连接到指定地址的服务器
|
static Socket |
SocketUtil.connect(String hostname,
int port,
int connectionTimeout)
创建Socket并连接到指定地址的服务器
|
static SocketAddress |
SocketUtil.getRemoteAddress(AsynchronousSocketChannel channel)
获取远程端的地址信息,包括host和端口
null表示channel为null或者远程主机未连接 |
static boolean |
SocketUtil.isConnected(AsynchronousSocketChannel channel)
远程主机是否处于连接状态
通过判断远程地址获取成功与否判断 |
Modifier and Type | Method and Description |
---|---|
void |
AbstractCaptcha.write(File file)
验证码写出到文件
|
void |
AbstractCaptcha.write(String path)
验证码写出到文件
|
Modifier and Type | Method and Description |
---|---|
static void |
ImgUtil.binary(Image srcImage,
ImageOutputStream targetImageStream,
String imageType)
彩色转为黑白二值化图片
此方法并不关闭流,输出JPG格式 |
static void |
ImgUtil.compress(File imageFile,
File outFile,
float quality)
压缩图像,输出图像只支持jpg文件
|
static void |
ImgUtil.createImage(String str,
Font font,
Color backgroundColor,
Color fontColor,
ImageOutputStream out)
根据文字创建PNG图片
|
static BufferedImage |
ImgUtil.createImage(String str,
Font font,
Color backgroundColor,
Color fontColor,
int imageType)
根据文字创建图片
|
static void |
ImgUtil.createTransparentImage(String str,
Font font,
Color fontColor,
ImageOutputStream out)
根据文字创建透明背景的PNG图片
|
static void |
ImgUtil.cut(Image srcImage,
File destFile,
Rectangle rectangle)
图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
|
static void |
ImgUtil.cut(Image srcImage,
ImageOutputStream targetImageStream,
Rectangle rectangle)
图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
|
static void |
ImgUtil.cut(Image srcImage,
OutputStream out,
Rectangle rectangle)
图像切割(按指定起点坐标和宽高切割),此方法并不关闭流
|
static void |
ImgUtil.flip(File imageFile,
File outFile)
水平翻转图像
|
static void |
ImgUtil.flip(Image image,
File outFile)
水平翻转图像
|
static void |
ImgUtil.flip(Image image,
ImageOutputStream out)
水平翻转图像,写出格式为JPG
|
static void |
ImgUtil.flip(Image image,
OutputStream out)
水平翻转图像
|
static ImageInputStream |
ImgUtil.getImageInputStream(InputStream in)
|
static ImageOutputStream |
ImgUtil.getImageOutputStream(File outFile)
|
static ImageOutputStream |
ImgUtil.getImageOutputStream(OutputStream out)
|
static int |
ImgMetaUtil.getOrientation(File file)
获取图片文件旋转角度
|
static int |
ImgMetaUtil.getOrientation(InputStream in)
获取图片旋转角度
|
static void |
ImgUtil.gray(Image srcImage,
ImageOutputStream targetImageStream)
彩色转为黑白
此方法并不关闭流 |
static void |
ImgUtil.pressImage(Image srcImage,
File outFile,
Image pressImg,
int x,
int y,
float alpha)
给图片添加图片水印
此方法并不关闭流 |
static void |
ImgUtil.pressImage(Image srcImage,
ImageOutputStream targetImageStream,
Image pressImg,
int x,
int y,
float alpha)
给图片添加图片水印,写出目标图片格式为JPG
此方法并不关闭流 |
static void |
ImgUtil.pressImage(Image srcImage,
OutputStream out,
Image pressImg,
int x,
int y,
float alpha)
给图片添加图片水印,写出目标图片格式为JPG
此方法并不关闭流 |
static void |
ImgUtil.pressImageFull(File imageFile,
File targetFile,
File pressImageFile,
int lineHeight,
int degree,
float alpha)
给图片添加全屏图片水印
|
static void |
ImgUtil.pressImageFull(InputStream srcStream,
OutputStream targetStream,
InputStream pressStream,
int lineHeight,
int degree,
float alpha)
给图片添加全屏图像水印,写出格式为JPG
此方法并不关闭流 |
static void |
ImgUtil.pressText(Image srcImage,
File targetFile,
DisplayText pressText)
给图片添加文字水印
此方法并不关闭流 |
static void |
ImgUtil.pressText(Image srcImage,
ImageOutputStream targetImageStream,
DisplayText pressText)
给图片添加文字水印
此方法并不关闭流 |
static void |
ImgUtil.pressText(Image srcImage,
OutputStream to,
DisplayText pressText)
给图片添加文字水印
此方法并不关闭流 |
static void |
ImgUtil.rotate(File imageFile,
int degree,
File outFile)
旋转图片为指定角度
此方法不会关闭输出流 |
static void |
ImgUtil.rotate(Image image,
int degree,
File outFile)
旋转图片为指定角度
此方法不会关闭输出流 |
static void |
ImgUtil.rotate(Image image,
int degree,
ImageOutputStream out)
旋转图片为指定角度
此方法不会关闭输出流,输出格式为JPG |
static void |
ImgUtil.rotate(Image image,
int degree,
OutputStream out)
旋转图片为指定角度
此方法不会关闭输出流 |
static void |
ImgUtil.scale(File srcImageFile,
File targetImageFile,
int width,
int height,
Color fixedColor)
缩放图像(按高度和宽度缩放)
缩放后默认格式与源图片相同,无法识别原图片默认JPG |
static void |
ImgUtil.scale(Image srcImg,
File destFile,
float scale)
缩放图像(按比例缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static void |
ImgUtil.scale(Image srcImg,
ImageOutputStream destImageStream,
float scale)
缩放图像(按比例缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static void |
ImgUtil.scale(Image srcImage,
ImageOutputStream targetImageStream,
int width,
int height,
Color fixedColor)
缩放图像(按高度和宽度缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static void |
ImgUtil.scale(ImageInputStream srcStream,
ImageOutputStream targetStream,
int width,
int height,
Color fixedColor)
缩放图像(按高度和宽度缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static void |
ImgUtil.scale(Image srcImg,
OutputStream out,
float scale)
缩放图像(按比例缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static void |
ImgUtil.scale(InputStream srcStream,
OutputStream targetStream,
int width,
int height,
Color fixedColor)
缩放图像(按高度和宽度缩放)
缩放后默认为jpeg格式,此方法并不关闭流 |
static BufferedImage |
ImgUtil.toImage(byte[] imageBytes)
将的图像bytes转为
BufferedImage |
static BufferedImage |
ImgUtil.toImage(String base64)
将Base64编码的图像信息转为
BufferedImage |
void |
ImgWriter.write(File targetFile)
写出图像为目标文件扩展名对应的格式
|
Img |
Img.write(File targetFile)
写出图像为目标文件扩展名对应的格式
|
static void |
ImgUtil.write(Image image,
File targetFile)
写出图像为目标文件扩展名对应的格式
|
Img |
Img.write(ImageOutputStream targetImageStream)
写出图像为结果设置格式
结果类型设定见 Img.setTargetImageType(String) |
static void |
ImgUtil.write(Image image,
String imageType,
ImageOutputStream targetImageStream)
写出图像为指定格式:GIF=》JPG、GIF=》PNG、PNG=》JPG、PNG=》GIF(X)、BMP=》PNG
此方法并不关闭流 |
static void |
ImgUtil.write(Image image,
String imageType,
ImageOutputStream out,
float quality,
Color backgroundColor)
写出图像为指定格式
|
static void |
ImgUtil.write(Image image,
String imageType,
OutputStream out)
写出图像:GIF=》JPG、GIF=》PNG、PNG=》JPG、PNG=》GIF(X)、BMP=》PNG
此方法并不关闭流 |
void |
ImgWriter.write(OutputStream out)
写出图像:GIF=》JPG、GIF=》PNG、PNG=》JPG、PNG=》GIF(X)、BMP=》PNG
此方法并不关闭流 |
Img |
Img.write(OutputStream out)
写出图像为结果设置格式
结果类型设定见 Img.setTargetImageType(String) |
static void |
ImgUtil.writeJpg(Image image,
ImageOutputStream targetImageStream)
写出图像为JPG格式
|
static void |
ImgUtil.writeJpg(Image image,
OutputStream out)
写出图像为JPG格式
|
static void |
ImgUtil.writePng(Image image,
ImageOutputStream targetImageStream)
写出图像为PNG格式
|
static void |
ImgUtil.writePng(Image image,
OutputStream out)
写出图像为PNG格式
|
Copyright © 2025. All rights reserved.