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