Rumah > Java > javaTutorial > Cara menggunakan Hutool, alat serba guna Java

Cara menggunakan Hutool, alat serba guna Java

PHPz
Lepaskan: 2023-04-30 13:31:06
ke hadapan
2688 orang telah melayarinya

Pengenalan kepada Hutool

Hutool ialah perpustakaan alat Java yang dibangunkan oleh pengaturcara domestik Lolly Tujuannya adalah untuk menyediakan beberapa kelas alat dan kaedah yang mudah, pantas dan praktikal untuk memudahkan pembangun Java mengendalikan pelbagai tugas dengan cekap. Hutool dicirikan oleh kemudahan penggunaan, fungsi komprehensif, kod yang jelas, dokumentasi lengkap dan menyokong JDK 1.8 dan ke atas. Pada masa ini, Hutool telah digunakan secara meluas dan versi 3.x telah dikeluarkan. Versi Hutool 3.x menampilkan perpustakaan pergantungan yang dinaik taraf, menambah beberapa ciri baharu dan prestasi yang dioptimumkan.

Ciri Hutool

Hutool menyediakan banyak kelas alat dan kaedah alat yang biasa digunakan, meliputi pelbagai tugas, seperti:

  • Kelas alatan rentetan biasa

  • Kelas Utiliti Masa Tarikh

  • Kelas Utiliti Koleksi

  • Kelas Utiliti Nombor

  • Kelas alat penyulitan dan penyahsulitan

  • Kelas alat pengendalian fail

  • Kelas alat pemprosesan data Excel

  • Kelas alat permintaan HTTP

Di bawah, kami akan memperkenalkan beberapa cirinya.

Kelas alat rentetan

Hutool menyediakan beberapa kelas alat rentetan yang biasa digunakan, seperti:

  • StrUtil: menyediakan operasi rentetan biasa, seperti nol rentetan pengesanan, pemintasan, penggantian, pemformatan, dsb.

  • ReUtil: Menyediakan kaedah alat ekspresi biasa, seperti padanan, pengekstrakan, penggantian, dsb.

  • EscapeUtil: Menyediakan alatan dan kaedah untuk melepaskan HTML, XML, Java, JavaScript dan rentetan lain.

  • EmojiUtil: Menyediakan alatan dan kaedah untuk pengekodan dan penyahkodan ekspresi emoji.

// 判断字符串是否为空或者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);
Salin selepas log masuk

Kelas alat tarikh dan masa

Hutool menyediakan beberapa kelas alat tarikh dan masa yang biasa digunakan, seperti:

  • DateUtil: Menyediakan operasi biasa pada tarikh dan masa, seperti pemformatan tarikh dan masa, pengiraan tarikh dan masa, perbandingan tarikh dan masa, dsb.

  • CronUtil: Menyediakan penghuraian dan pengiraan ungkapan Cron.

  • ChineseDateUtil: Menyediakan pemprosesan tarikh lunar.

// 日期时间格式化
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());
Salin selepas log masuk

Kelas alat koleksi

Hutool menyediakan beberapa kelas alat koleksi yang biasa digunakan, seperti:

  • CollUtil: disediakan Common operasi pada set, seperti set mengosongkan, set penggabungan, set memintas, dsb.

  • ListUtil, SetUtil, MapUtil: Menyediakan kaedah operasi untuk Senarai, Set, Peta dan koleksi lain.

  • ArrayUtil: Menyediakan operasi biasa pada tatasusunan, seperti pengesanan nol tatasusunan, penggabungan tatasusunan, pemintasan tatasusunan, dsb.

// 集合判空
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);
Salin selepas log masuk

Kelas alat nombor

Hutool menyediakan beberapa kelas alat digital yang biasa digunakan, seperti:

  • NumberUtil: disediakan Common operasi pada nombor, seperti pemformatan nombor, penukaran nombor, perbandingan nombor, dsb.

  • RandomUtil: Menyediakan kaedah untuk menjana nombor rawak, nilai Boolean rawak, dsb.

// 数字格式化
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();
Salin selepas log masuk

Kelas alat penyulitan dan penyahsulitan

Hutool menyediakan beberapa kelas alat penyulitan dan penyahsulitan yang biasa digunakan, seperti:

  • DigestUtil: Algoritma penyulitan yang biasa digunakan disediakan, seperti MD5, SHA-1, SHA-256, dsb.

  • SecureUtil: Menyediakan operasi penyulitan dan penyahsulitan biasa, seperti penyulitan AES, penyulitan RSA, pengekodan dan penyahkodan BASE64, dsb.

// 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);
Salin selepas log masuk

Kelas alat pengendalian fail

Hutool menyediakan beberapa kelas alat pengendalian fail yang biasa digunakan, seperti:

  • FileUtil: Menyediakan operasi fail biasa, seperti penciptaan fail, penyalinan fail, pemadaman fail, dsb.

  • ZipUtil: Menyediakan operasi pada fail termampat, seperti penciptaan fail termampat, penyahmampatan fail termampat, dsb.

// 文件创建
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");
Salin selepas log masuk

Kelas alat pemprosesan data Excel

Hutool menyediakan beberapa kelas alat pemprosesan data Excel yang biasa digunakan, seperti:

  • ExcelReader: Menyediakan operasi untuk membaca fail Excel Ia boleh membaca data dalam Excel, membaca data dalam Helaian tertentu, dsb.

  • ExcelWriter: Menyediakan operasi untuk menulis fail Excel dan boleh menulis data pada Helaian yang ditentukan dalam 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();
Salin selepas log masuk

Kelas alat permintaan HTTP

Hutool menyediakan beberapa kelas alat permintaan Http yang biasa digunakan, seperti:

HttpUtil: Menyediakan sokongan untuk Operasi permintaan Http , seperti menghantar permintaan GET, menghantar permintaan POST, memuat turun fail, dsb.

rreeee

Atas ialah kandungan terperinci Cara menggunakan Hutool, alat serba guna Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan