mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
change to reflect
This commit is contained in:
parent
fa45a775d9
commit
e487d924cb
@ -15,7 +15,6 @@ package org.dromara.hutool.core.bean;
|
||||
import org.dromara.hutool.core.annotation.AnnotationUtil;
|
||||
import org.dromara.hutool.core.annotation.PropIgnore;
|
||||
import org.dromara.hutool.core.convert.Convert;
|
||||
import org.dromara.hutool.core.func.LambdaUtil;
|
||||
import org.dromara.hutool.core.reflect.*;
|
||||
import org.dromara.hutool.core.reflect.method.MethodUtil;
|
||||
|
||||
@ -180,12 +179,9 @@ public class PropDesc {
|
||||
*/
|
||||
public Object getValue(final Object bean) {
|
||||
if (null != this.getter) {
|
||||
try{
|
||||
return LambdaUtil.buildGetter(this.getter).apply(bean);
|
||||
} catch (final Exception ignore){
|
||||
// issue#I96JIP,在jdk14+多模块项目中,存在权限问题,使用传统反射
|
||||
return MethodUtil.invoke(bean, this.getter);
|
||||
}
|
||||
// issue#3671 JDK15+ 修改了lambda的策略,动态生成后在metaspace不会释放,导致资源占用高
|
||||
//return LambdaUtil.buildGetter(this.getter).apply(bean);
|
||||
return MethodUtil.invoke(bean, this.getter);
|
||||
} else if (ModifierUtil.isPublic(this.field)) {
|
||||
return FieldUtil.getFieldValue(bean, this.field);
|
||||
}
|
||||
|
@ -137,6 +137,7 @@ public class ZipUtil {
|
||||
}
|
||||
}
|
||||
|
||||
// region ----- zip
|
||||
/**
|
||||
* 打包到当前目录,使用默认编码UTF-8
|
||||
*
|
||||
@ -428,7 +429,9 @@ public class ZipUtil {
|
||||
return zipFile;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------------- Unzip
|
||||
// endregion
|
||||
|
||||
// region ----- unzip
|
||||
|
||||
/**
|
||||
* 解压到文件名相同的目录中,默认编码UTF-8
|
||||
@ -579,6 +582,47 @@ public class ZipUtil {
|
||||
return outFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压<br>
|
||||
* ZIP条目不使用高速缓冲。
|
||||
*
|
||||
* @param in zip文件流,使用完毕自动关闭
|
||||
* @param outFile 解压到的目录
|
||||
* @param charset 编码
|
||||
* @return 解压的目录
|
||||
* @throws HutoolException IO异常
|
||||
* @since 4.5.8
|
||||
*/
|
||||
public static File unzip(final InputStream in, final File outFile, Charset charset) throws HutoolException {
|
||||
if (null == charset) {
|
||||
charset = DEFAULT_CHARSET;
|
||||
}
|
||||
|
||||
return unzip(new ZipInputStream(in, charset), outFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压<br>
|
||||
* ZIP条目不使用高速缓冲。
|
||||
*
|
||||
* @param zipStream zip文件流,包含编码信息
|
||||
* @param outFile 解压到的目录
|
||||
* @return 解压的目录
|
||||
* @throws HutoolException IO异常
|
||||
* @since 4.5.8
|
||||
*/
|
||||
public static File unzip(final ZipInputStream zipStream, final File outFile) throws HutoolException {
|
||||
try (final ZipReader reader = new ZipReader(zipStream)) {
|
||||
reader.readTo(outFile);
|
||||
}
|
||||
return outFile;
|
||||
}
|
||||
|
||||
|
||||
// endregion
|
||||
|
||||
// region ----- get and read
|
||||
|
||||
/**
|
||||
* 获取压缩包中的指定文件流
|
||||
*
|
||||
@ -621,41 +665,6 @@ public class ZipUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压<br>
|
||||
* ZIP条目不使用高速缓冲。
|
||||
*
|
||||
* @param in zip文件流,使用完毕自动关闭
|
||||
* @param outFile 解压到的目录
|
||||
* @param charset 编码
|
||||
* @return 解压的目录
|
||||
* @throws HutoolException IO异常
|
||||
* @since 4.5.8
|
||||
*/
|
||||
public static File unzip(final InputStream in, final File outFile, Charset charset) throws HutoolException {
|
||||
if (null == charset) {
|
||||
charset = DEFAULT_CHARSET;
|
||||
}
|
||||
return unzip(new ZipInputStream(in, charset), outFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压<br>
|
||||
* ZIP条目不使用高速缓冲。
|
||||
*
|
||||
* @param zipStream zip文件流,包含编码信息
|
||||
* @param outFile 解压到的目录
|
||||
* @return 解压的目录
|
||||
* @throws HutoolException IO异常
|
||||
* @since 4.5.8
|
||||
*/
|
||||
public static File unzip(final ZipInputStream zipStream, final File outFile) throws HutoolException {
|
||||
try (final ZipReader reader = new ZipReader(zipStream)) {
|
||||
reader.readTo(outFile);
|
||||
}
|
||||
return outFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取并处理Zip流中的每一个{@link ZipEntry}
|
||||
*
|
||||
@ -669,6 +678,10 @@ public class ZipUtil {
|
||||
}
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region ----- unzipFileBytes
|
||||
|
||||
/**
|
||||
* 从Zip文件中提取指定的文件为bytes
|
||||
*
|
||||
@ -721,7 +734,9 @@ public class ZipUtil {
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------- Gzip
|
||||
// endregion
|
||||
|
||||
// region ----- gzip
|
||||
|
||||
/**
|
||||
* Gzip压缩处理
|
||||
@ -790,6 +805,10 @@ public class ZipUtil {
|
||||
return bos.toByteArray();
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region ----- unGzip
|
||||
|
||||
/**
|
||||
* Gzip解压缩处理
|
||||
*
|
||||
@ -839,7 +858,9 @@ public class ZipUtil {
|
||||
return bos.toByteArray();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------- Zlib
|
||||
// endregion
|
||||
|
||||
// region ----- zlib
|
||||
|
||||
/**
|
||||
* Zlib压缩处理
|
||||
@ -911,6 +932,10 @@ public class ZipUtil {
|
||||
return out.toByteArray();
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region ----- unZlib
|
||||
|
||||
/**
|
||||
* Zlib解压缩处理
|
||||
*
|
||||
@ -959,6 +984,8 @@ public class ZipUtil {
|
||||
return out.toByteArray();
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* 获取Zip文件中指定目录下的所有文件,只显示文件,不显示目录<br>
|
||||
* 此方法并不会关闭{@link ZipFile}。
|
||||
|
Loading…
x
Reference in New Issue
Block a user