mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add field
This commit is contained in:
@@ -1005,20 +1005,14 @@ public class FileUtil extends PathUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改文件或目录的文件名,不变更路径,只是简单修改文件名<br>
|
||||
* 重命名有两种模式:<br>
|
||||
* 1、isRetainExt为true时,保留原扩展名:
|
||||
* 修改文件或目录的文件名,不变更路径,只是简单修改文件名,不保留扩展名。<br>
|
||||
*
|
||||
* <pre>
|
||||
* FileUtil.rename(file, "aaa", true) xx/xx.png =》xx/aaa.png
|
||||
* </pre>
|
||||
*
|
||||
* <pre>
|
||||
* FileUtil.rename(file, "aaa.jpg", false) xx/xx.png =》xx/aaa.jpg
|
||||
* FileUtil.rename(file, "aaa.png", true) xx/xx.png =》xx/aaa.png
|
||||
* </pre>
|
||||
*
|
||||
* @param file 被修改的文件
|
||||
* @param newName 新的文件名,包括扩展名
|
||||
* @param newName 新的文件名,如需扩展名,需自行在此参数加上,原文件名的扩展名不会被保留
|
||||
* @param isOverride 是否覆盖目标文件
|
||||
* @return 目标文件
|
||||
* @since 5.3.6
|
||||
@@ -1035,6 +1029,7 @@ public class FileUtil extends PathUtil {
|
||||
* <pre>
|
||||
* FileUtil.rename(file, "aaa", true) xx/xx.png =》xx/aaa.png
|
||||
* </pre>
|
||||
*
|
||||
* <p>
|
||||
* 2、isRetainExt为false时,不保留原扩展名,需要在newName中
|
||||
*
|
||||
|
@@ -0,0 +1,18 @@
|
||||
package cn.hutool.core.lang.generator;
|
||||
|
||||
/**
|
||||
* 生成器泛型接口<br>
|
||||
* 通过实现此接口可以自定义生成对象的策略
|
||||
*
|
||||
* @param <T> 生成对象类型
|
||||
* @since 5.4.3
|
||||
*/
|
||||
public interface Generator<T> {
|
||||
|
||||
/**
|
||||
* 生成新的对象
|
||||
*
|
||||
* @return 新的对象
|
||||
*/
|
||||
T next();
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
package cn.hutool.core.lang.generator;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
|
||||
/**
|
||||
* 对象生成器,通过指定对象的Class类型,调用next方法时生成新的对象。
|
||||
*
|
||||
* @param <T> 对象类型
|
||||
* @author looly
|
||||
* @since 5.4.3
|
||||
*/
|
||||
public class ObjectGenerator<T> implements Generator<T> {
|
||||
|
||||
private final Class<T> clazz;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
* @param clazz 对象类型
|
||||
*/
|
||||
public ObjectGenerator(Class<T> clazz) {
|
||||
this.clazz = clazz;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T next() {
|
||||
return ReflectUtil.newInstanceIfPossible(this.clazz);
|
||||
}
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
package cn.hutool.core.lang.generator;
|
||||
|
||||
import cn.hutool.core.lang.ObjectId;
|
||||
|
||||
/**
|
||||
* ObjectId生成器
|
||||
*
|
||||
* @author looly
|
||||
* @since 5.4.3
|
||||
*/
|
||||
public class ObjectIdGenerator implements Generator<String> {
|
||||
@Override
|
||||
public String next() {
|
||||
return ObjectId.next();
|
||||
}
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
package cn.hutool.core.lang.generator;
|
||||
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
|
||||
/**
|
||||
* Snowflake生成器<br>
|
||||
* 注意,默认此生成器必须单例使用,否则会有重复<br>
|
||||
* 默认构造的终端ID和数据中心ID都为0,不适用于分布式环境。
|
||||
*
|
||||
* @author looly
|
||||
* @since 5.4.3
|
||||
*/
|
||||
public class SnowflakeGenerator implements Generator<Long> {
|
||||
|
||||
private final Snowflake snowflake;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*/
|
||||
public SnowflakeGenerator() {
|
||||
this(0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*
|
||||
* @param workerId 终端ID
|
||||
* @param dataCenterId 数据中心ID
|
||||
*/
|
||||
public SnowflakeGenerator(long workerId, long dataCenterId) {
|
||||
snowflake = new Snowflake(workerId, dataCenterId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long next() {
|
||||
return this.snowflake.nextId();
|
||||
}
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
package cn.hutool.core.lang.generator;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
|
||||
/**
|
||||
* UUID生成器
|
||||
*
|
||||
* @author looly
|
||||
* @since 5.4.3
|
||||
*/
|
||||
public class UUIDGenerator implements Generator<String> {
|
||||
@Override
|
||||
public String next() {
|
||||
return IdUtil.fastUUID();
|
||||
}
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* 提供生成器接口及相关封装
|
||||
*
|
||||
* @author looly
|
||||
*
|
||||
*/
|
||||
package cn.hutool.core.lang.generator;
|
@@ -1,10 +1,9 @@
|
||||
package cn.hutool.core.date;
|
||||
|
||||
import cn.hutool.core.date.BetweenFormater.Level;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import cn.hutool.core.date.BetweenFormater.Level;
|
||||
|
||||
public class BetweenFormaterTest {
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user