README-EN.md 11.2 KB
Newer Older
1 2 3 4
<p align="center">
	<a href="https://hutool.cn/"><img src="https://cdn.jsdelivr.net/gh/looly/hutool-site/images/logo.jpg" width="45%"></a>
</p>
<p align="center">
L
Looly 已提交
5
	<strong>🍬A set of tools that keep Java sweet.</strong>
6 7
</p>
<p align="center">
L
Looly 已提交
8
	👉 <a href="https://hutool.cn">https://hutool.cn/</a> 👈
9 10 11 12 13 14 15 16 17
</p>

<p align="center">
	<a target="_blank" href="https://search.maven.org/artifact/cn.hutool/hutool-all">
		<img src="https://img.shields.io/maven-central/v/cn.hutool/hutool-all.svg?label=Maven%20Central" />
	</a>
	<a target="_blank" href="https://license.coscl.org.cn/MulanPSL2/">
		<img src="https://img.shields.io/:license-MulanPSL2-blue.svg" />
	</a>
L
Looly 已提交
18
	<a target="_blank" href="https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html">
19 20
		<img src="https://img.shields.io/badge/JDK-8+-green.svg" />
	</a>
L
Looly 已提交
21 22
	<a target="_blank" href="https://travis-ci.com/dromara/hutool">
		<img src="https://travis-ci.com/dromara/hutool.svg?branch=v4-master" />
23
	</a>
L
Looly 已提交
24 25
	<a href="https://www.codacy.com/gh/dromara/hutool/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=dromara/hutool&amp;utm_campaign=Badge_Grade">
		<img src="https://app.codacy.com/project/badge/Grade/8a6897d9de7440dd9de8804c28d2871d"/>
26
	</a>
L
Looly 已提交
27 28
	<a href="https://codecov.io/gh/dromara/hutool">
		<img src="https://codecov.io/gh/dromara/hutool/branch/v5-master/graph/badge.svg" />
29 30 31 32
	</a>
	<a target="_blank" href="https://gitter.im/hutool/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
		<img src="https://badges.gitter.im/hutool/Lobby.svg" />
	</a>
L
Looly 已提交
33 34
	<a target="_blank" href='https://gitee.com/dromara/hutool/stargazers'>
		<img src='https://gitee.com/dromara/hutool/badge/star.svg?theme=gvp' alt='star'/>
35
	</a>
L
Looly 已提交
36 37
	<a target="_blank" href='https://github.com/dromara/hutool'>
		<img src="https://img.shields.io/github/stars/dromara/hutool.svg?style=social" alt="github star"/>
38 39 40 41 42
	</a>
</p>

<br/>
<p align="center">
L
Looly 已提交
43
	<a href="https://qm.qq.com/cgi-bin/qm/qr?k=0wwldaU0E8r-ZzHl_wma33W7420zwXYi&jump_from=webapi"><img src="https://img.shields.io/badge/QQ%20Group-956375658-orange"/></a>
44
</p>
L
Looly 已提交
45 46 47

-------------------------------------------------------------------------------

L
Looly 已提交
48
[**🌎中文说明**](README.md)
L
Looly 已提交
49

50 51
-------------------------------------------------------------------------------

L
Looly 已提交
52
## 📚Introduction
53 54 55 56 57 58
**Hutool** is a small but comprehensive library of Java tools, encapsulation by static methods, reduce the cost of learning related APIs, increase productivity, and make Java as elegant as a functional programming language,let the Java be "sweet" too.

**Hutool** tools and methods from each user's crafted, it covers all aspects of the underlying code of Java development, it is a powerful tool for large project development to solve small problems, but also the efficiency of small projects;

**Hutool** is a project "util" package friendly alternative, it saves developers on the project of common classes and common tool methods of encapsulation time, so that development focus on business, at the same time can minimize the encapsulation is not perfect to avoid the bugs.

L
Looly 已提交
59
### 🎁Origin of the 'Hutool' name
60 61 62 63 64

**Hutool = Hu + tool**,Is the original company project after the stripping of the underlying code of the open source library , "Hu" is the short name of the company , 'tool' that tool .

Hutool,' Hútú '(Chinese Pinyin),On the one hand, it is simple and easy to understand, on the other hand, it means "hard to be confused".(note: confused means 'Hútú (糊涂)' in china )

L
Looly 已提交
65
### 🍺How Hutool is changing the way we code
66 67 68 69 70

The goal of  **Hutool**  is to use a simple function instead of a complex piece of code, thus avoiding the problem of "copy and paste" code as much as possible and revolutionizing the way we write code.

To calculate MD5 for example:

L
Looly 已提交
71 72
- 👴【Before】Open a search engine -> search "Java MD5 encryption" -> open a blog -> copy and paste -> change it to work.
- 👦【Now   】import Hutool -> SecureUtil.md5()
73 74 75

Hutool exists to reduce code search costs and avoid bugs caused by imperfect code on the web.

L
Looly 已提交
76 77
### Thanks
> this README is PR by [chengxian-yi](https://gitee.com/yichengxian)
78 79
-------------------------------------------------------------------------------

L
Looly 已提交
80
## 🛠️Module
81 82
A Java-based tool class for files, streams, encryption and decryption, transcoding, regular, thread, XML and other JDK methods for encapsulation,composing various Util tool classes, as well as providing the following modules:

L
Looly 已提交
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| module          |     description                                                                                                            |
| -------------------|-------------------------------------------------------------------------------------------------------------------------|
| hutool-aop         |     JDK dynamic proxy encapsulation to provide non-IOC faceting support                                                 |
| hutool-bloomFilter |     Bloom filtering to provide some Hash algorithm Bloom filtering                                                      |
| hutool-cache       |     Simple cache                                                                                                        |
| hutool-core        |     Core, including Bean operations, dates, various Utils, etc.                                                         |
| hutool-cron        |     Task scheduling with Cron expressions                                                                               |
| hutool-crypto      |     Provides symmetric, asymmetric and digest algorithm encapsulation                                                   |
| hutool-db          |     Db operations based on ActiveRecord thinking.                                                                       |
| hutool-dfa         |     DFA models, such as multi-keyword lookups                                                                           |
| hutool-extra       |     Extension modules, third-party wrappers (template engine, mail, servlet, QR code, Emoji, FTP, word splitting, etc.) |
| hutool-http        |     Http client                                                                                                         |
| hutool-log         |     Log (facade)                                                                                                        |
| hutool-script      |     Script execution encapsulation, e.g. Javascript                                                                     |
| hutool-setting     |     Stronger Setting Profile tools and Properties tools                                                                 |
| hutool-system      |     System parameter tools (JVM information, etc.)                                                                      |
| hutool-json        |     JSON                                                                                                                |
| hutool-captcha     |     Image Captcha                                                                                                       |
| hutool-poi         |     Tools for working with Excel and Word in POI                                                                        |
| hutool-socket      |     Java-based tool classes for NIO and AIO sockets                                                                     |
| hutool-jwt         |     JSON Web Token (JWT) implement                                                                                      |
104 105 106 107 108

Each module can be introduced individually, or all modules can be introduced by introducing `hutool-all` as required.

-------------------------------------------------------------------------------

L
Looly 已提交
109
## 📝Doc
110

L
Looly 已提交
111
[📘Chinese documentation](https://www.hutool.cn/docs/)
112

L
Looly 已提交
113
[📙API](https://apidoc.gitee.com/dromara/hutool/)
114

L
Looly 已提交
115
[🎬Video](https://www.bilibili.com/video/BV1bQ4y1M7d9?p=2)
116 117 118

-------------------------------------------------------------------------------

L
Looly 已提交
119
## 📦Install
120

L
Looly 已提交
121
### 🍊Maven
122 123 124 125
```xml
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
L
Looly 已提交
126
    <version>5.7.1</version>
127 128 129
</dependency>
```

L
Looly 已提交
130
### 🍐Gradle
131
```
L
Looly 已提交
132
compile 'cn.hutool:hutool-all:5.7.1'
133 134
```

L
Looly 已提交
135
## 📥Download
136

L
Looly 已提交
137
- [Maven Repo](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.7.1/)
138

L
Looly 已提交
139
> 🔔️note:
140 141 142
> Hutool 5.x supports JDK8+ and is not tested on Android platforms, and cannot guarantee that all tool classes or tool methods are available.
> If your project uses JDK7, please use Hutool 4.x version.

L
Looly 已提交
143
### 🚽Compile and install
144 145 146

Download the entire project source code

L
Looly 已提交
147
gitee:[https://gitee.com/dromara/hutool](https://gitee.com/dromara/hutool) 
148

L
Looly 已提交
149
github:[https://github.com/dromara/hutool](https://github.com/dromara/hutool)
150 151 152 153 154 155 156 157

```sh
cd ${hutool}
./hutool.sh install
```

-------------------------------------------------------------------------------

L
Looly 已提交
158
## 🏗️Other
159

L
Looly 已提交
160
### 🎋Branch Description
161 162 163 164 165 166 167 168

Hutool's source code is divided into two branches:

| branch | description                                               |
|-----------|---------------------------------------------------------------|
| v5-master | The master branch, the branch used by the release version, is the same as the jar committed to the central repository and does not receive any pr or modifications. |
| v5-dev    | Development branch, which defaults to the next SNAPSHOT version, accepts modifications or pr |

L
Looly 已提交
169
### 🐞Provide feedback or suggestions on bugs
170 171 172

When submitting feedback, please indicate which JDK version, Hutool version, and related dependency library version you are using.

L
Looly 已提交
173
- [Gitee issue](https://gitee.com/dromara/hutool/issues)
L
Looly 已提交
174
- [Github issue](https://github.com/dromara/hutool/issues)
175

L
Looly 已提交
176
### 🧬Principles of PR(pull request)
177 178 179 180 181

Hutool welcomes anyone to contribute code to Hutool, but the author suffers from OCD and needs to submit a pr (pull request) that meets some specifications in order to care for the patient.:

1. Improve the comments, especially each new method should follow the Java documentation specification to indicate the method description, parameter description, return value description and other information, if necessary, please add unit tests, if you want, you can also add your name.
2. Code indentation according to Eclipse.
L
Looly 已提交
182
3. Newly added methods do not use third-party library methods,Unless the method tool is add to the '**extra module**'.
183 184 185 186
4. Please pull request to the `v5-dev` branch. Hutool uses a new branch after 5.x: `v5-master` is the master branch, which indicates the version of the central library that has been released, and this branch does not allow pr or modifications.

-------------------------------------------------------------------------------

L
Looly 已提交
187
## ⭐Star Hutool
L
Looly 已提交
188

L
Looly 已提交
189
[![Giteye chart](https://chart.giteye.net/gitee/dromara/hutool/GMSL7VDA.png)](https://giteye.net/chart/GMSL7VDA)
L
Looly 已提交
190

L
add svg  
Looly 已提交
191 192
[![Stargazers over time](https://starchart.cc/dromara/hutool.svg)](https://starchart.cc/dromara/hutool)

L
Looly 已提交
193
## 💳Donate
194 195 196

If you think Hutool is good, you can donate to buy tshe author a pack of chili~, thanks in advance ^_^.

L
Looly 已提交
197
[Gitee donate](https://gitee.com/dromara/hutool)
L
Looly 已提交
198

L
Looly 已提交
199
[Dromara donate](https://dromara.gitee.io/donate.html)
L
Looly 已提交
200

L
Looly 已提交
201
## 📌WeChat Official Account
L
Looly 已提交
202

L
Looly 已提交
203
#### 🐧Welcome to the official account of Hutool cooperation.
L
Looly 已提交
204

L
add pic  
Looly 已提交
205 206
![Java2B](https://cdn.jsdelivr.net/gh/looly/hutool-site/images/qrcode.jpg)

L
Looly 已提交
207
#### 🐧Welcome to organization Dromara
L
add pic  
Looly 已提交
208 209

![Dromara](https://dromara.org/img/qrcode/qrcode_1.png)