Package | Description |
---|---|
cn.hutool.core.collection |
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
|
cn.hutool.core.compress |
压缩解压封装
|
cn.hutool.core.io.resource |
针对ClassPath和文件中资源读取的封装,主要入口为工具类ResourceUtil
|
cn.hutool.core.io.watch |
基于JDK7+ WatchService的文件和目录监听封装,支持多级目录
|
cn.hutool.core.lang |
语言特性包,包括大量便捷的数据结构,例如验证器Validator,分布式ID生成器Snowflake等
|
cn.hutool.core.lang.copier |
拷贝抽象实现,通过抽象拷贝,可以实现文件、流、Buffer之间的拷贝实现
|
cn.hutool.core.lang.tree |
提供通用树生成,特点:
|
cn.hutool.core.map |
Map相关封装,提供特殊Map实现以及Map工具MapUtil
|
cn.hutool.core.net |
网络相关工具
|
cn.hutool.core.text |
提供文本相关操作的封装,还包括Unicode工具UnicodeUtil
|
cn.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
cn.hutool.dfa |
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
解释起来原理其实也不难,就是用所有关键字构造一棵树,然后用正文遍历这棵树,遍历到叶子节点即表示文章中存在这个关键字。 我们暂且忽略构建关键词树的时间,每次查找正文只需要O(n)复杂度就可以搞定。 |
cn.hutool.extra.compress.archiver |
基于commons-compress的打包(压缩)封装
|
cn.hutool.extra.compress.extractor |
基于commons-compress的解包(解压缩)封装
|
cn.hutool.extra.ftp |
基于Apache Commons Net封装的FTP工具
|
cn.hutool.extra.ssh |
Jsch封装,包括端口映射、SFTP封装等,入口为JschUtil
|
cn.hutool.json |
JSON封装,基于json.org官方库改造
|
cn.hutool.json.serialize |
JSON自定义序列化和反序列化接口和默认实现
|
Modifier and Type | Method and Description |
---|---|
Filter<? super E> |
FilterIter.getFilter()
获取过滤函数
|
Modifier and Type | Method and Description |
---|---|
static <E> Iterator<E> |
IterUtil.filter(Iterator<E> iter,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能: |
static <T extends Iterable<E>,E> |
IterUtil.filter(T iter,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能: |
static <T extends Collection<E>,E> |
CollUtil.filter(T collection,
Filter<E> filter)
去除指定元素,此方法直接修改原集合
|
static <E> FilterIter<E> |
IterUtil.filtered(Iterator<? extends E> iterator,
Filter<? super E> filter)
获取一个新的
FilterIter ,用于过滤指定元素 |
static <T> Collection<T> |
CollUtil.filterNew(Collection<T> collection,
Filter<T> filter)
过滤
过滤过程通过传入的Filter实现来过滤返回需要的元素内容,这个Filter实现可以实现以下功能: |
static <E> List<E> |
IterUtil.filterToList(Iterator<E> iter,
Filter<E> filter)
过滤
Iterator 并将过滤后满足条件的元素添加到List中 |
static <T> T |
CollUtil.findOne(Iterable<T> collection,
Filter<T> filter)
查找第一个匹配元素对象
|
Constructor and Description |
---|
FilterIter(Iterator<? extends E> iterator,
Filter<? super E> filter)
构造
|
Modifier and Type | Method and Description |
---|---|
File |
ZipReader.readTo(File outFile,
Filter<ZipEntry> entryFilter)
解压到指定目录中
|
Modifier and Type | Method and Description |
---|---|
static List<URL> |
ResourceUtil.getResources(String resource,
Filter<URL> filter)
获取指定路径下的资源列表
路径格式必须为目录格式,用/分隔,例如: |
Modifier and Type | Method and Description |
---|---|
void |
WatchServer.watch(WatchAction action,
Filter<WatchEvent<?>> watchFilter)
执行事件获取并处理
|
void |
WatchServer.watch(Watcher watcher,
Filter<WatchEvent<?>> watchFilter)
执行事件获取并处理
|
Modifier and Type | Method and Description |
---|---|
static Set<Class<?>> |
ClassScanner.scanAllPackage(String packageName,
Filter<Class<?>> classFilter)
扫描包路径下和所有在classpath中加载的类,满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理 |
static Set<Class<?>> |
ClassScanner.scanPackage(String packageName,
Filter<Class<?>> classFilter)
扫描包路径下满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理 |
Constructor and Description |
---|
ClassScanner(String packageName,
Filter<Class<?>> classFilter)
构造,默认UTF-8编码
|
ClassScanner(String packageName,
Filter<Class<?>> classFilter,
Charset charset)
构造
|
Modifier and Type | Field and Description |
---|---|
protected Filter<T> |
SrcToDestCopier.copyFilter
拷贝过滤器,可以过滤掉不需要拷贝的源
|
Modifier and Type | Method and Description |
---|---|
Filter<T> |
SrcToDestCopier.getCopyFilter()
获得过滤器
|
Modifier and Type | Method and Description |
---|---|
C |
SrcToDestCopier.setCopyFilter(Filter<T> copyFilter)
设置过滤器
|
Modifier and Type | Method and Description |
---|---|
Tree<T> |
Tree.filter(Filter<Tree<T>> filter)
递归过滤当前树,注意此方法会修改当前树
通过 Filter 指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点及其所有子节点,否则抛弃节点及其子节点 |
Tree<T> |
Tree.filterNew(Filter<Tree<T>> filter)
递归过滤并生成新的树
通过 Filter 指定的过滤规则,本节点或子节点满足过滤条件,则保留当前节点,否则抛弃节点及其子节点 |
Modifier and Type | Method and Description |
---|---|
static <K,V> Map<K,V> |
MapUtil.filter(Map<K,V> map,
Filter<Map.Entry<K,V>> filter)
过滤
过滤过程通过传入的Editor实现来返回需要的元素内容,这个Filter实现可以实现以下功能: |
Modifier and Type | Method and Description |
---|---|
static LinkedHashSet<InetAddress> |
NetUtil.localAddressList(Filter<InetAddress> addressFilter)
获取所有满足过滤条件的本地IP地址对象
|
static LinkedHashSet<InetAddress> |
NetUtil.localAddressList(Filter<NetworkInterface> networkInterfaceFilter,
Filter<InetAddress> addressFilter)
获取所有满足过滤条件的本地IP地址对象
|
static LinkedHashSet<InetAddress> |
NetUtil.localAddressList(Filter<NetworkInterface> networkInterfaceFilter,
Filter<InetAddress> addressFilter)
获取所有满足过滤条件的本地IP地址对象
|
Modifier and Type | Method and Description |
---|---|
static String |
CharSequenceUtil.filter(CharSequence str,
Filter<Character> filter)
过滤字符串
|
Modifier and Type | Method and Description |
---|---|
static String |
EscapeUtil.escape(CharSequence content,
Filter<Character> filter)
Escape编码(Unicode)
该方法不会对 ASCII 字母和数字进行编码。其他所有的字符都会被转义序列替换。 |
static <T> T[] |
ArrayUtil.filter(T[] array,
Filter<T> filter)
过滤
过滤过程通过传入的Filter实现来过滤返回需要的元素内容,这个Filter实现可以实现以下功能: |
static Field[] |
ReflectUtil.getFields(Class<?> beanClass,
Filter<Field> fieldFilter)
获得一个类中所有满足条件的字段列表,包括其父类中的字段
如果子类与父类中存在同名字段,则这两个字段同时存在,子类字段在前,父类字段在后。 |
static Object[] |
ReflectUtil.getFieldsValue(Object obj,
Filter<Field> filter)
获取所有字段的值
|
static Method[] |
ReflectUtil.getMethods(Class<?> clazz,
Filter<Method> filter)
获得指定类过滤后的方法列表
|
static List<Method> |
ReflectUtil.getPublicMethods(Class<?> clazz,
Filter<Method> filter)
获得指定类过滤后的Public方法列表
TODO 6.x此方法更改返回Method[] |
static List<Method> |
ClassUtil.getPublicMethods(Class<?> clazz,
Filter<Method> filter)
获得指定类过滤后的Public方法列表
|
static Set<Class<?>> |
ClassUtil.scanPackage(String packageName,
Filter<Class<?>> classFilter)
扫描包路径下满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理,有可能是一个不完善的地方,以后需要进行修改 |
Modifier and Type | Method and Description |
---|---|
WordTree |
WordTree.setCharFilter(Filter<Character> charFilter)
设置字符过滤规则,通过定义字符串过滤规则,过滤不需要的字符
当accept为false时,此字符不参与匹配 |
static void |
SensitiveUtil.setCharFilter(Filter<Character> charFilter)
设置字符过滤规则,通过定义字符串过滤规则,过滤不需要的字符
当accept为false时,此字符不参与匹配 |
Modifier and Type | Method and Description |
---|---|
default Archiver |
Archiver.add(File file,
Filter<File> filter)
将文件或目录加入归档,目录采取递归读取方式按照层级加入
|
SevenZArchiver |
SevenZArchiver.add(File file,
String path,
Filter<File> filter) |
StreamArchiver |
StreamArchiver.add(File file,
String path,
Filter<File> filter)
将文件或目录加入归档包,目录采取递归读取方式按照层级加入
|
Archiver |
Archiver.add(File file,
String path,
Filter<File> filter)
将文件或目录加入归档包,目录采取递归读取方式按照层级加入
|
Modifier and Type | Method and Description |
---|---|
default void |
Extractor.extract(File targetDir,
Filter<org.apache.commons.compress.archivers.ArchiveEntry> filter)
释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
|
void |
Extractor.extract(File targetDir,
int stripComponents,
Filter<org.apache.commons.compress.archivers.ArchiveEntry> filter)
释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
|
void |
StreamExtractor.extract(File targetDir,
int stripComponents,
Filter<org.apache.commons.compress.archivers.ArchiveEntry> filter)
释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
|
void |
SevenZExtractor.extract(File targetDir,
int stripComponents,
Filter<org.apache.commons.compress.archivers.ArchiveEntry> filter)
释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
|
InputStream |
SevenZExtractor.getFirst(Filter<org.apache.commons.compress.archivers.ArchiveEntry> filter)
获取满足指定过滤要求的压缩包内的第一个文件流
|
Modifier and Type | Method and Description |
---|---|
List<org.apache.commons.net.ftp.FTPFile> |
Ftp.lsFiles(String path,
Filter<org.apache.commons.net.ftp.FTPFile> filter)
遍历某个目录下所有文件和目录,不会递归遍历
此方法自动过滤"."和".."两种目录 |
Modifier and Type | Method and Description |
---|---|
List<String> |
Sftp.ls(String path,
Filter<com.jcraft.jsch.ChannelSftp.LsEntry> filter)
遍历某个目录下所有文件或目录,不会递归遍历
此方法自动过滤"."和".."两种目录 |
List<com.jcraft.jsch.ChannelSftp.LsEntry> |
Sftp.lsEntries(String path,
Filter<com.jcraft.jsch.ChannelSftp.LsEntry> filter)
遍历某个目录下所有文件或目录,生成LsEntry列表,不会递归遍历
此方法自动过滤"."和".."两种目录 |
Modifier and Type | Method and Description |
---|---|
protected boolean |
JSONArray.addRaw(Object obj,
Filter<Mutable<Object>> filter)
原始添加,添加的对象不做任何处理
|
void |
ObjectMapper.map(JSONArray jsonArray,
Filter<Mutable<Object>> filter)
初始化
|
void |
ObjectMapper.map(JSONObject jsonObject,
Filter<MutablePair<String,Object>> filter)
将给定对象转换为
JSONObject |
void |
JSONParser.parseTo(JSONArray jsonArray,
Filter<Mutable<Object>> filter)
解析JSON字符串到
JSONArray 中 |
void |
JSONParser.parseTo(JSONObject jsonObject,
Filter<MutablePair<String,Object>> filter)
解析
JSONTokener 中的字符到目标的JSONObject 中 |
Object |
JSONArray.set(int index,
Object element,
Filter<MutablePair<Integer,Object>> filter)
加入或者替换JSONArray中指定Index的值,如果index大于JSONArray的长度,将在指定index设置值,之前的位置填充JSONNull.Null
|
JSONObject |
JSONObject.set(String key,
Object value,
Filter<MutablePair<String,Object>> filter,
boolean checkDuplicate)
设置键值对到JSONObject中,在忽略null模式下,如果值为
null ,将此键移除 |
JSONObject |
JSONObject.setOnce(String key,
Object value,
Filter<MutablePair<String,Object>> filter)
一次性Put 键值对,如果key已经存在抛出异常,如果键值中有null值,忽略
|
String |
JSONArray.toJSONString(int indentFactor,
Filter<MutablePair<Object,Object>> filter)
返回JSON字符串
支持过滤器,即选择哪些字段或值不写出 |
String |
JSONObject.toJSONString(int indentFactor,
Filter<MutablePair<Object,Object>> filter)
返回JSON字符串
支持过滤器,即选择哪些字段或值不写出 |
Writer |
JSONArray.write(Writer writer,
int indentFactor,
int indent,
Filter<MutablePair<Object,Object>> filter)
将JSON内容写入Writer
支持过滤器,即选择哪些字段或值不写出 |
Writer |
JSONObject.write(Writer writer,
int indentFactor,
int indent,
Filter<MutablePair<Object,Object>> filter)
将JSON内容写入Writer
支持过滤器,即选择哪些字段或值不写出 |
Constructor and Description |
---|
JSONArray(Object object,
JSONConfig jsonConfig,
Filter<Mutable<Object>> filter)
从对象构造
支持以下类型的参数: |
JSONObject(Object source,
JSONConfig config,
Filter<MutablePair<String,Object>> filter)
构建JSONObject,规则如下:
value为Map,将键值对加入JSON对象
value为JSON字符串(CharSequence),使用JSONTokener解析
value为JSONTokener,直接解析
value为普通JavaBean,如果为普通的JavaBean,调用其getters方法(getXXX或者isXXX)获得值,加入到JSON对象。例如:如果JavaBean对象中有个方法getName(),值为"张三",获得的键值对为:name: "张三"
|
Modifier and Type | Method and Description |
---|---|
JSONWriter |
JSONWriter.writeField(MutablePair<Object,Object> pair,
Filter<MutablePair<Object,Object>> filter)
写出字段名及字段值,如果字段值是
null 且忽略null值,则不写出任何内容 |
Copyright © 2024. All rights reserved.