This commit is contained in:
Looly 2022-04-29 02:28:54 +08:00
parent 216c1966b7
commit 98e3b9cfc5
27 changed files with 85 additions and 107 deletions

View File

@ -4,7 +4,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
/** /**
* 星座 来自https://blog.csdn.net/u010758605/article/details/48317881 * 星座 来自<a href="https://blog.csdn.net/u010758605/article/details/48317881">https://blog.csdn.net/u010758605/article/details/48317881</a>
* *
* @author looly * @author looly
* @since 4.4.3 * @since 4.4.3

View File

@ -22,7 +22,7 @@ public class DataSizeUtil {
/** /**
* 可读的文件大小<br> * 可读的文件大小<br>
* 参考 http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc * 参考 <a href="http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc">http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc</a>
* *
* @param size Long类型大小 * @param size Long类型大小
* @return 大小 * @return 大小

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,4 +1,4 @@
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -4,4 +4,4 @@
* @author looly * @author looly
* *
*/ */
package cn.hutool.core.getter; package cn.hutool.core.lang.getter;

View File

@ -8,7 +8,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Pair; import cn.hutool.core.lang.Pair;
import cn.hutool.core.lang.func.Func0; import cn.hutool.core.lang.func.Func0;
import cn.hutool.core.lang.func.LambdaUtil; import cn.hutool.core.lang.func.LambdaUtil;
import cn.hutool.core.getter.BasicTypeGetter; import cn.hutool.core.lang.getter.BasicTypeGetter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;

View File

@ -1,7 +1,7 @@
package cn.hutool.core.map; package cn.hutool.core.map;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.getter.OptNullBasicTypeFromObjectGetter; import cn.hutool.core.lang.getter.OptNullBasicTypeFromObjectGetter;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.classloader.ClassLoaderUtil; import cn.hutool.core.classloader.ClassLoaderUtil;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.codec.PercentCodec;
/** /**
* application/x-www-form-urlencoded遵循W3C HTML Form content types规范如空格须转++须被编码<br> * application/x-www-form-urlencoded遵循W3C HTML Form content types规范如空格须转++须被编码<br>
* 规范见https://url.spec.whatwg.org/#urlencoded-serializing * 规范见<a href="https://url.spec.whatwg.org/#urlencoded-serializing">https://url.spec.whatwg.org/#urlencoded-serializing</a>
* *
* @since 5.7.16 * @since 5.7.16
*/ */

View File

@ -1,41 +0,0 @@
package cn.hutool.core.net;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
/**
* 账号密码形式的{@link Authenticator} 实现
*
* @author looly
* @since 5.5.3
*/
public class PassAuth extends Authenticator {
/**
* 创建账号密码形式的{@link Authenticator} 实现
*
* @param user 用户名
* @param pass 密码
* @return PassAuth
*/
public static PassAuth of(String user, char[] pass) {
return new PassAuth(user, pass);
}
private final PasswordAuthentication auth;
/**
* 构造
*
* @param user 用户名
* @param pass 密码
*/
public PassAuth(String user, char[] pass) {
auth = new PasswordAuthentication(user, pass);
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return auth;
}
}

View File

@ -4,15 +4,25 @@ import java.net.Authenticator;
import java.net.PasswordAuthentication; import java.net.PasswordAuthentication;
/** /**
* 账号密码形式的{@link Authenticator} * 账号密码形式的{@link Authenticator} 实现
* *
* @author looly * @author looly
* @since 5.7.2 * @since 5.5.3
*/ */
public class UserPassAuthenticator extends Authenticator { public class UserPassAuthenticator extends Authenticator {
private final String user; /**
private final char[] pass; * 创建账号密码形式的{@link Authenticator} 实现
*
* @param user 用户名
* @param pass 密码
* @return PassAuth
*/
public static UserPassAuthenticator of(String user, char[] pass) {
return new UserPassAuthenticator(user, pass);
}
private final PasswordAuthentication auth;
/** /**
* 构造 * 构造
@ -21,13 +31,11 @@ public class UserPassAuthenticator extends Authenticator {
* @param pass 密码 * @param pass 密码
*/ */
public UserPassAuthenticator(String user, char[] pass) { public UserPassAuthenticator(String user, char[] pass) {
this.user = user; auth = new PasswordAuthentication(user, pass);
this.pass = pass;
} }
@Override @Override
protected PasswordAuthentication getPasswordAuthentication() { protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(this.user, this.pass); return auth;
} }
} }

View File

@ -2,6 +2,7 @@ package cn.hutool.extra.management;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.regex.ReUtil; import cn.hutool.core.regex.ReUtil;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
@ -11,11 +12,11 @@ import java.io.Serializable;
public class JavaInfo implements Serializable { public class JavaInfo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String JAVA_VERSION = ManagementUtil.get("java.version", false); private final String JAVA_VERSION = SystemUtil.get("java.version", false);
private final float JAVA_VERSION_FLOAT = getJavaVersionAsFloat(); private final float JAVA_VERSION_FLOAT = getJavaVersionAsFloat();
private final int JAVA_VERSION_INT = getJavaVersionAsInt(); private final int JAVA_VERSION_INT = getJavaVersionAsInt();
private final String JAVA_VENDOR = ManagementUtil.get("java.vendor", false); private final String JAVA_VENDOR = SystemUtil.get("java.vendor", false);
private final String JAVA_VENDOR_URL = ManagementUtil.get("java.vendor.url", false); private final String JAVA_VENDOR_URL = SystemUtil.get("java.vendor.url", false);
// 1.1--1.3能否识别? // 1.1--1.3能否识别?
private final boolean IS_JAVA_1_1 = getJavaVersionMatches("1.1"); private final boolean IS_JAVA_1_1 = getJavaVersionMatches("1.1");

View File

@ -1,6 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.text.StrUtil; import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
@ -10,18 +11,18 @@ import java.io.Serializable;
public class JavaRuntimeInfo implements Serializable{ public class JavaRuntimeInfo implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String JAVA_RUNTIME_NAME = ManagementUtil.get("java.runtime.name", false); private final String JAVA_RUNTIME_NAME = SystemUtil.get("java.runtime.name", false);
private final String JAVA_RUNTIME_VERSION = ManagementUtil.get("java.runtime.version", false); private final String JAVA_RUNTIME_VERSION = SystemUtil.get("java.runtime.version", false);
private final String JAVA_HOME = ManagementUtil.get("java.home", false); private final String JAVA_HOME = SystemUtil.get("java.home", false);
private final String JAVA_EXT_DIRS = ManagementUtil.get("java.ext.dirs", false); private final String JAVA_EXT_DIRS = SystemUtil.get("java.ext.dirs", false);
private final String JAVA_ENDORSED_DIRS = ManagementUtil.get("java.endorsed.dirs", false); private final String JAVA_ENDORSED_DIRS = SystemUtil.get("java.endorsed.dirs", false);
private final String JAVA_CLASS_PATH = ManagementUtil.get("java.class.path", false); private final String JAVA_CLASS_PATH = SystemUtil.get("java.class.path", false);
private final String JAVA_CLASS_VERSION = ManagementUtil.get("java.class.version", false); private final String JAVA_CLASS_VERSION = SystemUtil.get("java.class.version", false);
private final String JAVA_LIBRARY_PATH = ManagementUtil.get("java.library.path", false); private final String JAVA_LIBRARY_PATH = SystemUtil.get("java.library.path", false);
private final String SUN_BOOT_CLASS_PATH = ManagementUtil.get("sun.boot.class.path", false); private final String SUN_BOOT_CLASS_PATH = SystemUtil.get("sun.boot.class.path", false);
private final String SUN_ARCH_DATA_MODEL = ManagementUtil.get("sun.arch.data.model", false); private final String SUN_ARCH_DATA_MODEL = SystemUtil.get("sun.arch.data.model", false);
public final String getSunBoothClassPath() { public final String getSunBoothClassPath() {
return SUN_BOOT_CLASS_PATH; return SUN_BOOT_CLASS_PATH;
@ -138,7 +139,7 @@ public class JavaRuntimeInfo implements Serializable{
* @since Java 1.1 * @since Java 1.1
*/ */
public final String[] getClassPathArray() { public final String[] getClassPathArray() {
return StrUtil.splitToArray(getClassPath(), ManagementUtil.get("path.separator", false)); return StrUtil.splitToArray(getClassPath(), SystemUtil.get("path.separator", false));
} }
/** /**
@ -182,7 +183,7 @@ public class JavaRuntimeInfo implements Serializable{
* *
*/ */
public final String[] getLibraryPathArray() { public final String[] getLibraryPathArray() {
return StrUtil.splitToArray(getLibraryPath(), ManagementUtil.get("path.separator", false)); return StrUtil.splitToArray(getLibraryPath(), SystemUtil.get("path.separator", false));
} }
/** /**
@ -197,7 +198,7 @@ public class JavaRuntimeInfo implements Serializable{
* *
*/ */
public final String getProtocolPackages() { public final String getProtocolPackages() {
return ManagementUtil.get("java.protocol.handler.pkgs", true); return SystemUtil.get("java.protocol.handler.pkgs", true);
} }
/** /**

View File

@ -1,5 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -8,9 +10,9 @@ import java.io.Serializable;
public class JavaSpecInfo implements Serializable{ public class JavaSpecInfo implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String JAVA_SPECIFICATION_NAME = ManagementUtil.get("java.specification.name", false); private final String JAVA_SPECIFICATION_NAME = SystemUtil.get("java.specification.name", false);
private final String JAVA_SPECIFICATION_VERSION = ManagementUtil.get("java.specification.version", false); private final String JAVA_SPECIFICATION_VERSION = SystemUtil.get("java.specification.version", false);
private final String JAVA_SPECIFICATION_VENDOR = ManagementUtil.get("java.specification.vendor", false); private final String JAVA_SPECIFICATION_VENDOR = SystemUtil.get("java.specification.vendor", false);
/** /**
* 取得当前Java Spec.的名称取自系统属性{@code java.specification.name} * 取得当前Java Spec.的名称取自系统属性{@code java.specification.name}

View File

@ -1,5 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -8,10 +10,10 @@ import java.io.Serializable;
public class JvmInfo implements Serializable{ public class JvmInfo implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String JAVA_VM_NAME = ManagementUtil.get("java.vm.name", false); private final String JAVA_VM_NAME = SystemUtil.get("java.vm.name", false);
private final String JAVA_VM_VERSION = ManagementUtil.get("java.vm.version", false); private final String JAVA_VM_VERSION = SystemUtil.get("java.vm.version", false);
private final String JAVA_VM_VENDOR = ManagementUtil.get("java.vm.vendor", false); private final String JAVA_VM_VENDOR = SystemUtil.get("java.vm.vendor", false);
private final String JAVA_VM_INFO = ManagementUtil.get("java.vm.info", false); private final String JAVA_VM_INFO = SystemUtil.get("java.vm.info", false);
/** /**
* 取得当前JVM impl.的名称取自系统属性{@code java.vm.name} * 取得当前JVM impl.的名称取自系统属性{@code java.vm.name}

View File

@ -1,5 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -8,9 +10,9 @@ import java.io.Serializable;
public class JvmSpecInfo implements Serializable{ public class JvmSpecInfo implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String JAVA_VM_SPECIFICATION_NAME = ManagementUtil.get("java.vm.specification.name", false); private final String JAVA_VM_SPECIFICATION_NAME = SystemUtil.get("java.vm.specification.name", false);
private final String JAVA_VM_SPECIFICATION_VERSION = ManagementUtil.get("java.vm.specification.version", false); private final String JAVA_VM_SPECIFICATION_VERSION = SystemUtil.get("java.vm.specification.version", false);
private final String JAVA_VM_SPECIFICATION_VENDOR = ManagementUtil.get("java.vm.specification.vendor", false); private final String JAVA_VM_SPECIFICATION_VENDOR = SystemUtil.get("java.vm.specification.vendor", false);
/** /**
* 取得当前JVM spec.的名称取自系统属性{@code java.vm.specification.name} * 取得当前JVM spec.的名称取自系统属性{@code java.vm.specification.name}

View File

@ -1,5 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.util.SystemUtil;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -8,9 +10,9 @@ import java.io.Serializable;
public class OsInfo implements Serializable{ public class OsInfo implements Serializable{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final String OS_VERSION = ManagementUtil.get("os.version", false); private final String OS_VERSION = SystemUtil.get("os.version", false);
private final String OS_ARCH = ManagementUtil.get("os.arch", false); private final String OS_ARCH = SystemUtil.get("os.arch", false);
private final String OS_NAME = ManagementUtil.get("os.name", false); private final String OS_NAME = SystemUtil.get("os.name", false);
private final boolean IS_OS_AIX = getOSMatches("AIX"); private final boolean IS_OS_AIX = getOSMatches("AIX");
private final boolean IS_OS_HP_UX = getOSMatches("HP-UX"); private final boolean IS_OS_HP_UX = getOSMatches("HP-UX");
private final boolean IS_OS_IRIX = getOSMatches("Irix"); private final boolean IS_OS_IRIX = getOSMatches("Irix");
@ -34,9 +36,9 @@ public class OsInfo implements Serializable{
private final boolean IS_OS_WINDOWS_10 = getOSMatches("Windows", "10.0"); private final boolean IS_OS_WINDOWS_10 = getOSMatches("Windows", "10.0");
// 由于改变file.encoding属性并不会改变系统字符编码为了保持一致通过LocaleUtil取系统默认编码 // 由于改变file.encoding属性并不会改变系统字符编码为了保持一致通过LocaleUtil取系统默认编码
private final String FILE_SEPARATOR = ManagementUtil.get("file.separator", false); private final String FILE_SEPARATOR = SystemUtil.get(SystemPropsKeys.FILE_SEPARATOR, false);
private final String LINE_SEPARATOR = ManagementUtil.get("line.separator", false); private final String LINE_SEPARATOR = SystemUtil.get(SystemPropsKeys.LINE_SEPARATOR, false);
private final String PATH_SEPARATOR = ManagementUtil.get("path.separator", false); private final String PATH_SEPARATOR = SystemUtil.get(SystemPropsKeys.PATH_SEPARATOR, false);
/** /**
* 取得当前OS的架构取自系统属性{@code os.arch} * 取得当前OS的架构取自系统属性{@code os.arch}

View File

@ -1,6 +1,7 @@
package cn.hutool.extra.management; package cn.hutool.extra.management;
import cn.hutool.core.text.StrUtil; import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.SystemUtil;
import java.io.File; import java.io.File;
import java.io.Serializable; import java.io.Serializable;
@ -19,16 +20,16 @@ public class UserInfo implements Serializable{
private final String USER_COUNTRY; private final String USER_COUNTRY;
public UserInfo(){ public UserInfo(){
USER_NAME = fixPath(ManagementUtil.get("user.name", false)); USER_NAME = fixPath(SystemUtil.get("user.name", false));
USER_HOME = fixPath(ManagementUtil.get("user.home", false)); USER_HOME = fixPath(SystemUtil.get("user.home", false));
USER_DIR = fixPath(ManagementUtil.get("user.dir", false)); USER_DIR = fixPath(SystemUtil.get("user.dir", false));
JAVA_IO_TMPDIR = fixPath(ManagementUtil.get("java.io.tmpdir", false)); JAVA_IO_TMPDIR = fixPath(SystemUtil.get("java.io.tmpdir", false));
USER_LANGUAGE = ManagementUtil.get("user.language", false); USER_LANGUAGE = SystemUtil.get("user.language", false);
// JDK1.4 {@code user.country}JDK1.2 {@code user.region} // JDK1.4 {@code user.country}JDK1.2 {@code user.region}
String userCountry = ManagementUtil.get("user.country", false); String userCountry = SystemUtil.get("user.country", false);
if(null == userCountry){ if(null == userCountry){
userCountry = ManagementUtil.get("user.country", false); userCountry = SystemUtil.get("user.country", false);
} }
USER_COUNTRY = userCountry; USER_COUNTRY = userCountry;
} }

View File

@ -4,7 +4,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.convert.ConvertException; import cn.hutool.core.convert.ConvertException;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.getter.OptNullBasicTypeFromObjectGetter; import cn.hutool.core.lang.getter.OptNullBasicTypeFromObjectGetter;
import cn.hutool.core.text.StrUtil; import cn.hutool.core.text.StrUtil;
import java.time.LocalDateTime; import java.time.LocalDateTime;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.bean.copier.ValueProvider; import cn.hutool.core.bean.copier.ValueProvider;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.getter.OptNullBasicTypeFromStringGetter; import cn.hutool.core.lang.getter.OptNullBasicTypeFromStringGetter;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.reflect.ReflectUtil; import cn.hutool.core.reflect.ReflectUtil;
import cn.hutool.core.text.StrUtil; import cn.hutool.core.text.StrUtil;

View File

@ -2,8 +2,8 @@ package cn.hutool.setting.dialect;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.getter.BasicTypeGetter; import cn.hutool.core.lang.getter.BasicTypeGetter;
import cn.hutool.core.getter.OptBasicTypeGetter; import cn.hutool.core.lang.getter.OptBasicTypeGetter;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;