fix comment

This commit is contained in:
Looly
2020-04-07 11:26:21 +08:00
parent 91e9511738
commit b1e10cc763
3 changed files with 162 additions and 148 deletions

View File

@@ -1760,6 +1760,7 @@ public class CollUtil {
* @param <K> Map键类型
* @param <V> Map值类型
* @param values 数据列表
* @param map Map对象转换后的键值对加入此Map通过传入此对象自定义Map类型
* @param keyFunc 生成key的函数
* @return 生成的map
* @since 5.2.6
@@ -1772,12 +1773,13 @@ public class CollUtil {
* 集合转换为Map转换规则为<br>
* 按照keyFunc函数规则根据元素对象生成Key按照valueFunc函数规则根据元素对象生成value组成新的Map
*
* @param <K> Map键类型
* @param <V> Map值类型
* @param <E> 元素类型
* @param values 数据列表
* @param map Map对象转换后的键值对加入此Map通过传入此对象自定义Map类型
* @param keyFunc 生成key的函数
* @param <K> Map键类型
* @param <V> Map值类型
* @param <E> 元素类型
* @param values 数据列表
* @param map Map对象转换后的键值对加入此Map通过传入此对象自定义Map类型
* @param keyFunc 生成key的函数
* @param valueFunc 生成值的策略函数
* @return 生成的map
* @since 5.2.6
*/

View File

@@ -202,7 +202,7 @@ public class IterUtil {
*/
@SuppressWarnings("unchecked")
public static <K, V> Map<K, V> fieldValueMap(Iterator<V> iter, String fieldName) {
return toMap(iter, new HashMap<>(), (value)->(K)ReflectUtil.getFieldValue(value, fieldName));
return toMap(iter, new HashMap<>(), (value) -> (K) ReflectUtil.getFieldValue(value, fieldName));
}
/**
@@ -236,8 +236,8 @@ public class IterUtil {
@SuppressWarnings("unchecked")
public static <K, V> Map<K, V> fieldValueAsMap(Iterator<?> iter, String fieldNameForKey, String fieldNameForValue) {
return toMap(iter, new HashMap<>(),
(value)->(K)ReflectUtil.getFieldValue(value, fieldNameForKey),
(value)->(V)ReflectUtil.getFieldValue(value, fieldNameForValue)
(value) -> (K) ReflectUtil.getFieldValue(value, fieldNameForKey),
(value) -> (V) ReflectUtil.getFieldValue(value, fieldNameForValue)
);
}
@@ -644,12 +644,13 @@ public class IterUtil {
* 集合转换为Map转换规则为<br>
* 按照keyFunc函数规则根据元素对象生成Key按照valueFunc函数规则根据元素对象生成value组成新的Map
*
* @param <K> Map键类型
* @param <V> Map值类型
* @param <E> 元素类型
* @param iterator 数据列表
* @param map Map对象转换后的键值对加入此Map通过传入此对象自定义Map类型
* @param keyFunc 生成key的函数
* @param <K> Map键类型
* @param <V> Map值类型
* @param <E> 元素类型
* @param iterator 数据列表
* @param map Map对象转换后的键值对加入此Map通过传入此对象自定义Map类型
* @param keyFunc 生成key的函数
* @param valueFunc 生成值的策略函数
* @return 生成的map
* @since 5.2.6
*/

View File

@@ -46,26 +46,34 @@ import java.util.zip.Checksum;
/**
* IO工具类<br>
* IO工具类只是辅助流的读写并不负责关闭流。原因是流可能被多次读写读写关闭后容易造成问题。
*
* @author xiaoleilu
*
* @author xiaoleilu
*/
public class IoUtil {
/** 默认缓存大小 8192*/
/**
* 默认缓存大小 8192
*/
public static final int DEFAULT_BUFFER_SIZE = 2 << 12;
/** 默认中等缓存大小 16384*/
/**
* 默认中等缓存大小 16384
*/
public static final int DEFAULT_MIDDLE_BUFFER_SIZE = 2 << 13;
/** 默认大缓存大小 32768*/
/**
* 默认大缓存大小 32768
*/
public static final int DEFAULT_LARGE_BUFFER_SIZE = 2 << 14;
/** 数据流末尾 */
/**
* 数据流末尾
*/
public static final int EOF = -1;
// -------------------------------------------------------------------------------------- Copy start
/**
* 将Reader中的内容复制到Writer中 使用默认缓存大小拷贝后不关闭Reader
*
*
* @param reader Reader
* @param writer Writer
* @return 拷贝的字节数
@@ -77,9 +85,9 @@ public class IoUtil {
/**
* 将Reader中的内容复制到Writer中拷贝后不关闭Reader
*
* @param reader Reader
* @param writer Writer
*
* @param reader Reader
* @param writer Writer
* @param bufferSize 缓存大小
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -90,10 +98,10 @@ public class IoUtil {
/**
* 将Reader中的内容复制到Writer中拷贝后不关闭Reader
*
* @param reader Reader
* @param writer Writer
* @param bufferSize 缓存大小
*
* @param reader Reader
* @param writer Writer
* @param bufferSize 缓存大小
* @param streamProgress 进度处理器
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -125,8 +133,8 @@ public class IoUtil {
/**
* 拷贝流使用默认Buffer大小拷贝后不关闭流
*
* @param in 输入流
*
* @param in 输入流
* @param out 输出流
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -137,9 +145,9 @@ public class IoUtil {
/**
* 拷贝流,拷贝后不关闭流
*
* @param in 输入流
* @param out 输出流
*
* @param in 输入流
* @param out 输出流
* @param bufferSize 缓存大小
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -150,10 +158,10 @@ public class IoUtil {
/**
* 拷贝流,拷贝后不关闭流
*
* @param in 输入流
* @param out 输出流
* @param bufferSize 缓存大小
*
* @param in 输入流
* @param out 输出流
* @param bufferSize 缓存大小
* @param streamProgress 进度条
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -171,7 +179,7 @@ public class IoUtil {
}
long size = 0;
try {
for (int readSize; (readSize = in.read(buffer)) != EOF;) {
for (int readSize; (readSize = in.read(buffer)) != EOF; ) {
out.write(buffer, 0, readSize);
size += readSize;
out.flush();
@@ -191,10 +199,10 @@ public class IoUtil {
/**
* 拷贝流 thanks to: https://github.com/venusdrogon/feilong-io/blob/master/src/main/java/com/feilong/io/IOWriteUtil.java<br>
* 本方法不会关闭流
*
* @param in 输入流
* @param out 输出流
* @param bufferSize 缓存大小
*
* @param in 输入流
* @param out 输出流
* @param bufferSize 缓存大小
* @param streamProgress 进度条
* @return 传输的byte数
* @throws IORuntimeException IO异常
@@ -205,8 +213,8 @@ public class IoUtil {
/**
* 拷贝文件流使用NIO
*
* @param in 输入
*
* @param in 输入
* @param out 输出
* @return 拷贝的字节数
* @throws IORuntimeException IO异常
@@ -231,8 +239,8 @@ public class IoUtil {
/**
* 拷贝流使用NIO不会关闭流
*
* @param in {@link ReadableByteChannel}
*
* @param in {@link ReadableByteChannel}
* @param out {@link WritableByteChannel}
* @return 拷贝的字节数
* @throws IORuntimeException IO异常
@@ -244,9 +252,9 @@ public class IoUtil {
/**
* 拷贝流使用NIO不会关闭流
*
* @param in {@link ReadableByteChannel}
* @param out {@link WritableByteChannel}
*
* @param in {@link ReadableByteChannel}
* @param out {@link WritableByteChannel}
* @param bufferSize 缓冲大小如果小于等于0使用默认
* @return 拷贝的字节数
* @throws IORuntimeException IO异常
@@ -258,10 +266,10 @@ public class IoUtil {
/**
* 拷贝流使用NIO不会关闭流
*
* @param in {@link ReadableByteChannel}
* @param out {@link WritableByteChannel}
* @param bufferSize 缓冲大小如果小于等于0使用默认
*
* @param in {@link ReadableByteChannel}
* @param out {@link WritableByteChannel}
* @param bufferSize 缓冲大小如果小于等于0使用默认
* @param streamProgress {@link StreamProgress}进度处理器
* @return 拷贝的字节数
* @throws IORuntimeException IO异常
@@ -296,6 +304,7 @@ public class IoUtil {
// -------------------------------------------------------------------------------------- Copy end
// -------------------------------------------------------------------------------------- getReader and getWriter start
/**
* 获得一个文件读取器默认使用UTF-8编码
*
@@ -309,8 +318,8 @@ public class IoUtil {
/**
* 获得一个文件读取器
*
* @param in 输入流
*
* @param in 输入流
* @param charsetName 字符集名称
* @return BufferedReader对象
*/
@@ -320,8 +329,8 @@ public class IoUtil {
/**
* 获得一个Reader
*
* @param in 输入流
*
* @param in 输入流
* @param charset 字符集
* @return BufferedReader对象
*/
@@ -343,7 +352,7 @@ public class IoUtil {
/**
* 获得{@link BufferedReader}<br>
* 如果是{@link BufferedReader}强转返回否则新建。如果提供的Reader为null返回null
*
*
* @param reader 普通Reader如果为null返回null
* @return {@link BufferedReader} or null
* @since 3.0.9
@@ -359,8 +368,8 @@ public class IoUtil {
/**
* 获得{@link PushbackReader}<br>
* 如果是{@link PushbackReader}强转返回,否则新建
*
* @param reader 普通Reader
*
* @param reader 普通Reader
* @param pushBackSize 推后的byte数
* @return {@link PushbackReader}
* @since 3.1.0
@@ -382,8 +391,8 @@ public class IoUtil {
/**
* 获得一个Writer
*
* @param out 输入流
*
* @param out 输入流
* @param charsetName 字符集
* @return OutputStreamWriter对象
*/
@@ -393,8 +402,8 @@ public class IoUtil {
/**
* 获得一个Writer
*
* @param out 输入流
*
* @param out 输入流
* @param charset 字符集
* @return OutputStreamWriter对象
*/
@@ -412,10 +421,11 @@ public class IoUtil {
// -------------------------------------------------------------------------------------- getReader and getWriter end
// -------------------------------------------------------------------------------------- read start
/**
* 从流中读取内容
*
* @param in 输入流
*
* @param in 输入流
* @param charsetName 字符集
* @return 内容
* @throws IORuntimeException IO异常
@@ -427,8 +437,8 @@ public class IoUtil {
/**
* 从流中读取内容,读取完毕后并不关闭流
*
* @param in 输入流,读取完毕后并不关闭流
*
* @param in 输入流,读取完毕后并不关闭流
* @param charset 字符集
* @return 内容
* @throws IORuntimeException IO异常
@@ -440,7 +450,7 @@ public class IoUtil {
/**
* 从流中读取内容,读取完毕后并不关闭流
*
*
* @param channel 可读通道,读取完毕后并不关闭通道
* @param charset 字符集
* @return 内容
@@ -454,7 +464,7 @@ public class IoUtil {
/**
* 从流中读取内容,读到输出流中,读取完毕后并不关闭流
*
*
* @param in 输入流
* @return 输出流
* @throws IORuntimeException IO异常
@@ -467,7 +477,7 @@ public class IoUtil {
/**
* 从流中读取内容,读到输出流中
*
*
* @param channel 可读通道,读取完毕后并不关闭通道
* @return 输出流
* @throws IORuntimeException IO异常
@@ -480,7 +490,7 @@ public class IoUtil {
/**
* 从Reader中读取String读取完毕后并不关闭Reader
*
*
* @param reader Reader
* @return String
* @throws IORuntimeException IO异常
@@ -500,7 +510,7 @@ public class IoUtil {
/**
* 从FileChannel中读取UTF-8编码内容
*
*
* @param fileChannel 文件管道
* @return 内容
* @throws IORuntimeException IO异常
@@ -511,7 +521,7 @@ public class IoUtil {
/**
* 从FileChannel中读取内容读取完毕后并不关闭Channel
*
*
* @param fileChannel 文件管道
* @param charsetName 字符集
* @return 内容
@@ -523,9 +533,9 @@ public class IoUtil {
/**
* 从FileChannel中读取内容
*
*
* @param fileChannel 文件管道
* @param charset 字符集
* @param charset 字符集
* @return 内容
* @throws IORuntimeException IO异常
*/
@@ -541,7 +551,7 @@ public class IoUtil {
/**
* 从流中读取bytes读取完毕后关闭流
*
*
* @param in {@link InputStream}
* @return bytes
* @throws IORuntimeException IO异常
@@ -553,7 +563,7 @@ public class IoUtil {
/**
* 从流中读取bytes
*
* @param in {@link InputStream}
* @param in {@link InputStream}
* @param isCloseStream 是否关闭输入流
* @return bytes
* @throws IORuntimeException IO异常
@@ -562,7 +572,7 @@ public class IoUtil {
public static byte[] readBytes(InputStream in, boolean isCloseStream) throws IORuntimeException {
final FastByteArrayOutputStream out = new FastByteArrayOutputStream();
copy(in, out);
if(isCloseStream){
if (isCloseStream) {
close(in);
}
return out.toByteArray();
@@ -570,8 +580,8 @@ public class IoUtil {
/**
* 读取指定长度的byte数组不关闭流
*
* @param in {@link InputStream}为null返回null
*
* @param in {@link InputStream}为null返回null
* @param length 长度小于等于0返回空byte数组
* @return bytes
* @throws IORuntimeException IO异常
@@ -602,9 +612,9 @@ public class IoUtil {
/**
* 读取16进制字符串
*
* @param in {@link InputStream}
* @param length 长度
*
* @param in {@link InputStream}
* @param length 长度
* @param toLowerCase true 传换成小写格式 false 传换成大写格式
* @return 16进制字符串
* @throws IORuntimeException IO异常
@@ -615,7 +625,7 @@ public class IoUtil {
/**
* 从流中读取前28个byte并转换为16进制字母部分使用大写
*
*
* @param in {@link InputStream}
* @return 16进制字符串
* @throws IORuntimeException IO异常
@@ -626,7 +636,7 @@ public class IoUtil {
/**
* 从流中读取前28个byte并转换为16进制字母部分使用小写
*
*
* @param in {@link InputStream}
* @return 16进制字符串
* @throws IORuntimeException IO异常
@@ -637,12 +647,12 @@ public class IoUtil {
/**
* 从流中读取对象,即对象的反序列化
*
*
* @param <T> 读取对象的类型
* @param in 输入流
* @param in 输入流
* @return 输出流
* @throws IORuntimeException IO异常
* @throws UtilException ClassNotFoundException包装
* @throws UtilException ClassNotFoundException包装
* @deprecated 由于存在对象反序列化漏洞风险,请使用{@link #readObj(InputStream, Class)}
*/
@Deprecated
@@ -653,11 +663,12 @@ public class IoUtil {
/**
* 从流中读取对象,即对象的反序列化,读取后不关闭流
*
* @param <T> 读取对象的类型
* @param in 输入流
* @param <T> 读取对象的类型
* @param in 输入流
* @param clazz 读取对象类型
* @return 输出流
* @throws IORuntimeException IO异常
* @throws UtilException ClassNotFoundException包装
* @throws UtilException ClassNotFoundException包装
*/
public static <T> T readObj(InputStream in, Class<T> clazz) throws IORuntimeException, UtilException {
if (in == null) {
@@ -677,9 +688,9 @@ public class IoUtil {
/**
* 从流中读取内容使用UTF-8编码
*
* @param <T> 集合类型
* @param in 输入流
*
* @param <T> 集合类型
* @param in 输入流
* @param collection 返回集合
* @return 内容
* @throws IORuntimeException IO异常
@@ -690,11 +701,11 @@ public class IoUtil {
/**
* 从流中读取内容
*
* @param <T> 集合类型
* @param in 输入流
*
* @param <T> 集合类型
* @param in 输入流
* @param charsetName 字符集
* @param collection 返回集合
* @param collection 返回集合
* @return 内容
* @throws IORuntimeException IO异常
*/
@@ -704,10 +715,10 @@ public class IoUtil {
/**
* 从流中读取内容
*
* @param <T> 集合类型
* @param in 输入流
* @param charset 字符集
*
* @param <T> 集合类型
* @param in 输入流
* @param charset 字符集
* @param collection 返回集合
* @return 内容
* @throws IORuntimeException IO异常
@@ -718,9 +729,9 @@ public class IoUtil {
/**
* 从Reader中读取内容
*
* @param <T> 集合类型
* @param reader {@link Reader}
*
* @param <T> 集合类型
* @param reader {@link Reader}
* @param collection 返回集合
* @return 内容
* @throws IORuntimeException IO异常
@@ -732,8 +743,8 @@ public class IoUtil {
/**
* 按行读取UTF-8编码数据针对每行的数据做处理
*
* @param in {@link InputStream}
*
* @param in {@link InputStream}
* @param lineHandler 行处理接口实现handle方法用于编辑一行的数据后入到指定地方
* @throws IORuntimeException IO异常
* @since 3.1.1
@@ -744,9 +755,9 @@ public class IoUtil {
/**
* 按行读取数据,针对每行的数据做处理
*
* @param in {@link InputStream}
* @param charset {@link Charset}编码
*
* @param in {@link InputStream}
* @param charset {@link Charset}编码
* @param lineHandler 行处理接口实现handle方法用于编辑一行的数据后入到指定地方
* @throws IORuntimeException IO异常
* @since 3.0.9
@@ -758,8 +769,8 @@ public class IoUtil {
/**
* 按行读取数据,针对每行的数据做处理<br>
* {@link Reader}自带编码定义,因此读取数据的编码跟随其编码。
*
* @param reader {@link Reader}
*
* @param reader {@link Reader}
* @param lineHandler 行处理接口实现handle方法用于编辑一行的数据后入到指定地方
* @throws IORuntimeException IO异常
*/
@@ -783,8 +794,8 @@ public class IoUtil {
/**
* String 转为流
*
* @param content 内容
*
* @param content 内容
* @param charsetName 编码
* @return 字节流
*/
@@ -794,7 +805,7 @@ public class IoUtil {
/**
* String 转为流
*
*
* @param content 内容
* @param charset 编码
* @return 字节流
@@ -805,10 +816,10 @@ public class IoUtil {
}
return toStream(StrUtil.bytes(content, charset));
}
/**
* String 转为UTF-8编码的字节流流
*
*
* @param content 内容
* @return 字节流
* @since 4.5.1
@@ -847,7 +858,7 @@ public class IoUtil {
/**
* 转换为{@link BufferedInputStream}
*
*
* @param in {@link InputStream}
* @return {@link BufferedInputStream}
* @since 4.0.10
@@ -858,7 +869,7 @@ public class IoUtil {
/**
* 转换为{@link BufferedOutputStream}
*
*
* @param out {@link OutputStream}
* @return {@link BufferedOutputStream}
* @since 4.0.10
@@ -870,7 +881,7 @@ public class IoUtil {
/**
* 将{@link InputStream}转换为支持mark标记的流<br>
* 若原流支持mark标记则返回原流否则使用{@link BufferedInputStream} 包装之
*
*
* @param in 流
* @return {@link InputStream}
* @since 4.0.9
@@ -888,8 +899,8 @@ public class IoUtil {
/**
* 转换为{@link PushbackInputStream}<br>
* 如果传入的输入流已经是{@link PushbackInputStream},强转返回,否则新建一个
*
* @param in {@link InputStream}
*
* @param in {@link InputStream}
* @param pushBackSize 推后的byte数
* @return {@link PushbackInputStream}
* @since 3.1.0
@@ -900,10 +911,10 @@ public class IoUtil {
/**
* 将byte[]写到流中
*
* @param out 输出流
*
* @param out 输出流
* @param isCloseOut 写入完毕是否关闭输出流
* @param content 写入的内容
* @param content 写入的内容
* @throws IORuntimeException IO异常
*/
public static void write(OutputStream out, boolean isCloseOut, byte[] content) throws IORuntimeException {
@@ -920,10 +931,10 @@ public class IoUtil {
/**
* 将多部分内容写到流中自动转换为UTF-8字符串
*
* @param out 输出流
*
* @param out 输出流
* @param isCloseOut 写入完毕是否关闭输出流
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @throws IORuntimeException IO异常
* @since 3.1.1
*/
@@ -933,11 +944,11 @@ public class IoUtil {
/**
* 将多部分内容写到流中,自动转换为字符串
*
* @param out 输出流
*
* @param out 输出流
* @param charsetName 写出的内容的字符集
* @param isCloseOut 写入完毕是否关闭输出流
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @param isCloseOut 写入完毕是否关闭输出流
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @throws IORuntimeException IO异常
*/
public static void write(OutputStream out, String charsetName, boolean isCloseOut, Object... contents) throws IORuntimeException {
@@ -946,11 +957,11 @@ public class IoUtil {
/**
* 将多部分内容写到流中,自动转换为字符串
*
* @param out 输出流
* @param charset 写出的内容的字符集
*
* @param out 输出流
* @param charset 写出的内容的字符集
* @param isCloseOut 写入完毕是否关闭输出流
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @param contents 写入的内容调用toString()方法,不包括不会自动换行
* @throws IORuntimeException IO异常
* @since 3.0.9
*/
@@ -975,10 +986,10 @@ public class IoUtil {
/**
* 将多部分内容写到流中
*
* @param out 输出流
*
* @param out 输出流
* @param isCloseOut 写入完毕是否关闭输出流
* @param contents 写入的内容
* @param contents 写入的内容
* @throws IORuntimeException IO异常
*/
public static void writeObjects(OutputStream out, boolean isCloseOut, Serializable... contents) throws IORuntimeException {
@@ -1002,7 +1013,7 @@ public class IoUtil {
/**
* 从缓存中刷出数据
*
*
* @param flushable {@link Flushable}
* @since 4.2.2
*/
@@ -1019,7 +1030,7 @@ public class IoUtil {
/**
* 关闭<br>
* 关闭失败不会抛出异常
*
*
* @param closeable 被关闭的对象
*/
public static void close(Closeable closeable) {
@@ -1035,7 +1046,7 @@ public class IoUtil {
/**
* 关闭<br>
* 关闭失败不会抛出异常
*
*
* @param closeable 被关闭的对象
*/
public static void close(AutoCloseable closeable) {
@@ -1051,7 +1062,7 @@ public class IoUtil {
/**
* 尝试关闭指定对象<br>
* 判断对象如果实现了{@link AutoCloseable},则调用之
*
*
* @param obj 可关闭对象
* @since 4.3.2
*/
@@ -1156,7 +1167,7 @@ public class IoUtil {
/**
* 计算流CRC32校验码计算后关闭流
*
*
* @param in 文件,不能为目录
* @return CRC32值
* @throws IORuntimeException IO异常
@@ -1168,8 +1179,8 @@ public class IoUtil {
/**
* 计算流的校验码,计算后关闭流
*
* @param in 流
*
* @param in
* @param checksum {@link Checksum}
* @return Checksum
* @throws IORuntimeException IO异常