Java の万能ツール Hutool の使い方

PHPz
リリース: 2023-04-30 13:31:06
転載
2631 人が閲覧しました

Hutool の紹介

Hutool は、国内のプログラマー loolly によって開発された Java ツール ライブラリであり、その目的は、Java 開発者がさまざまなタスクを効率的に処理しやすくするために、便利で高速かつ実用的なツール クラスとツール メソッドを提供することです。 。 Hutool は使いやすさ、包括的な機能、明確なコード、完全なドキュメントを特徴としており、JDK 1.8 以降をサポートしています。現在、Hutool は広く使用されており、バージョン 3.x がリリースされています。 Hutool 3.x バージョンは、依存関係ライブラリがアップグレードされ、いくつかの新機能が追加され、パフォーマンスが最適化されています。

Hutool の機能

Hutool は、一般的に使用されるツール クラスとツール メソッドを多数提供し、次のようなさまざまなタスクをカバーします。

  • 共通文字列ツール クラス

  • 日付時刻ツール クラス

  • 収集ツール クラス

  • 数値ツール クラス

  • 暗号化・復号ツールクラス

  • ファイル操作ツールクラス

  • Excelデータ処理ツールクラス

  • HTTPリクエストツールクラス

以下に、その機能の一部を紹介します。

文字列ツール クラス

Hutool は、次のような一般的に使用される文字列ツール クラスを提供します。

  • StrUtil: 文字列 null などの一般的な文字列操作を提供します。検出、傍受、置換、フォーマットなど。

  • ReUtil: 照合、抽出、置換などの正規表現ツール メソッドを提供します。

  • EscapeUtil: HTML、XML、Java、JavaScript、その他の文字列をエスケープするためのツールとメソッドを提供します。

  • EmojiUtil: 絵文字表現をエンコードおよびデコードするためのツールとメソッドを提供します。

// 判断字符串是否为空或者null
boolean isEmpty = StrUtil.isEmpty(str);

// 替换字符串
String replace = StrUtil.replace(str, "old", "new");

// 正则表达式匹配
List<String> matches = ReUtil.findAll("[0-9]+", str, 0, new ArrayList<String>());

// HTML转义
String html = EscapeUtil.escapeHtml(str);

// Emoji编码解码
String encode = EmojiUtil.encode("????");
String decode = EmojiUtil.decode(encode);
ログイン後にコピー

日付と時刻ツール クラス

Hutool には、次のような一般的に使用される日付と時刻ツール クラスがいくつか用意されています。 DateUtil: 日付と時刻の書式設定、日付と時刻の計算、日付と時刻の比較など、日付と時刻に関する一般的な操作を提供します。

  • CronUtil: Cron 式の解析と計算を提供します。

  • ChineseDateUtil: 太陰暦の日付の処理を提供します。

  • // 日期时间格式化
    String format = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
    
    // 日期时间计算
    Date newDate = DateUtil.offset(new Date(), DateField.DAY_OF_YEAR, 1);
    
    // 日期时间比较
    boolean isSameDay = DateUtil.isSameDay(new Date(), new Date());
    
    // Cron表达式解析
    CronPattern pattern = CronUtil.parse("0 0 12 * * ?");
    
    // 农历日期处理
    ChineseDate chineseDate = ChineseDateUtil.parse(new Date());
    ログイン後にコピー

    収集ツール クラス

  • Hutool は、次のような一般的に使用されるいくつかの収集ツール クラスを提供します。

CollUtil: 提供される Commonセットを空にする、セットをマージする、セットをインターセプトするなどのセットに対する操作。

  • ListUtil、SetUtil、MapUtil: List、Set、Map およびその他のコレクションの操作メソッドを提供します。

  • ArrayUtil: 配列の null 検出、配列の結合、配列のインターセプトなど、配列に対する一般的な操作を提供します。

  • // 集合判空
    boolean isEmpty = CollUtil.isEmpty(list);
    
    // 集合合并
    List<String> newList = CollUtil.addAllIfNotContains(list1, list2);
    
    // 集合截取
    List<String> subList = CollUtil.sub(list, 0, 5);
    
    // List转数组
    String[] array = ListUtil.toArray(list, String.class);
    
    // 数组判空
    boolean isEmpty = ArrayUtil.isEmpty(array);
    
    // 数组合并
    String[] newArray = ArrayUtil.addAll(array1, array2);
    
    // 数组截取
    String[] subArray = ArrayUtil.sub(array, 0, 5);
    ログイン後にコピー

    Number ツール クラス

  • Hutool は、次のような一般的に使用されるデジタル ツール クラスを提供します。

NumberUtil: 提供される Common数値の書式設定、数値変換、数値比較などの数値に対する操作。

  • RandomUtil: 乱数、ランダムなブール値などを生成するメソッドを提供します。

  • // 数字格式化
    String format = NumberUtil.decimalFormat("123456.789", "#,##0.00");
    
    // 数字转换
    Integer intValue = NumberUtil.parseInt("123");
    
    // 数字比较
    int compare = NumberUtil.compare(1, 2);
    
    // 随机整数
    int randomInt = RandomUtil.randomInt(0, 100);
    
    // 随机Boolean值
    boolean randomBoolean = RandomUtil.randomBoolean();
    ログイン後にコピー

    暗号化および復号化ツール クラス

  • Hutool は、次のような一般的に使用される暗号化および復号化ツール クラスを提供します。 DigestUtil: MD5、SHA-1、SHA-256 など、一般的に使用される暗号化アルゴリズムが提供されます。

SecureUtil: AES 暗号化、RSA 暗号化、BASE64 エンコードとデコードなど、一般的に使用される暗号化および復号化操作を提供します。

  • // MD5加密
    String md5 = DigestUtil.md5Hex("hello world");
    
    // SHA-256加密
    String sha256 = DigestUtil.sha256Hex("hello world");
    
    // AES加密解密
    String aesKey = "aeskey1234567890";
    String content = "hello world";
    String encrypt = SecureUtil.aes(aesKey.getBytes(), content.getBytes(), Cipher.ENCRYPT_MODE);
    String decrypt = SecureUtil.aes(aesKey.getBytes(), encrypt.getBytes(), Cipher.DECRYPT_MODE);
    
    // RSA加密解密
    KeyPair keyPair = SecureUtil.generateKeyPair("RSA");
    String publicKey = Base64.encode(keyPair.getPublic().getEncoded());
    String privateKey = Base64.encode(keyPair.getPrivate().getEncoded());
    String rsaEncrypt = SecureUtil.rsaEncrypt(content.getBytes(), publicKey);
    String rsaDecrypt = SecureUtil.rsaDecrypt(rsaEncrypt, privateKey);
    
    // BASE64编码解码
    String base64Encode = Base64.encode(content.getBytes());
    String base64Decode = StrUtil.str(Base64.decode(base64Encode), CharsetUtil.CHARSET_UTF_8);
    ログイン後にコピー

    ファイル操作ツール クラス

  • Hutool は、次のような一般的に使用されるファイル操作ツール クラスをいくつか提供します。
  • FileUtil:ファイルの作成、ファイルのコピー、ファイルの削除などの一般的なファイル操作を提供します。

ZipUtil: 圧縮ファイルの作成、圧縮ファイルの解凍など、圧縮ファイルに対する操作を提供します。

  • // 文件创建
    File file = FileUtil.touch("D:/test.txt");
    
    // 文件复制
    FileUtil.copy("D:/test.txt", "D:/test_copy.txt", true);
    
    // 文件删除
    FileUtil.del("D:/test.txt");
    
    // 压缩文件创建
    ZipUtil.zip("D:/test.zip", "D:/test");
    
    // 压缩文件解压
    ZipUtil.unzip("D:/test.zip", "D:/unzip");
    ログイン後にコピー

    Excel データ処理ツール クラス

  • Hutool は、次のような一般的に使用される Excel データ処理ツール クラスをいくつか提供します。 ExcelReader: Excel ファイルを読み取るための操作を提供します。Excel 内のデータを読み取る、または指定したシート内のデータを読み取ることができます。
  • ExcelWriter: Excel ファイルを書き込むための操作を提供し、Excel で指定されたシートにデータを書き込むことができます。

// 读取Excel中的数据
ExcelReader reader = ExcelUtil.getReader("D:/test.xlsx");
List<List<Object>> readAll = reader.read();

// 读取指定Sheet中的数据
ExcelReader sheetReader = ExcelUtil.getReader("D:/test.xlsx", "Sheet1");
List<List<Object>> readSheetAll = sheetReader.read();

// 将数据写入Excel中指定的Sheet中
ExcelWriter writer = ExcelUtil.getWriter("D:/test.xlsx", "Sheet1");
writer.writeCellValue(0, 0, "hello");
writer.flush();
writer.close();
ログイン後にコピー

Http リクエスト ツール クラス

    Hutool は、次のような一般的に使用される Http リクエスト ツール クラスを提供します。
  • HttpUtil: Http リクエストのサポートを提供します。 、GET リクエストの送信、POST リクエストの送信、ファイルのダウンロードなど。

    rree

以上がJava の万能ツール Hutool の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート