Hutool 39 New May 2026

The already‑excellent DateUtil now supports parse with fallback patterns. No more ParseException headaches:

// Tries multiple patterns automatically
Date date = DateUtil.parseAuto("2024-03-15", "yyyy/MM/dd", "dd-MM-yyyy");

And for the cron‑lovers among us: DateUtil.cronNext() predicts the next execution time directly.

The Hutool project welcomes contributions. For the next release (M40), they are seeking help with: hutool 39 new

To contribute:


Before (plain JDK):

List<String> lines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("data.txt"))) 
    String line;
    while ((line = br.readLine()) != null) 
        if (line.trim().length() > 0) 
            lines.add(line.toUpperCase());
catch (IOException e) 
    e.printStackTrace();

After (Hutool 0.39):

List<String> lines = FileUtil.readLines("data.txt", "UTF-8")
    .stream()
    .filter(StrUtil::isNotBlank)
    .map(String::toUpperCase)
    .collect(Collectors.toList());

No catch, no while, no null checks.

If you are using Maven, simply update your pom.xml:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.39</version>
</dependency>

If you are using Gradle:

implementation 'cn.hutool:hutool-all:5.8.39'

Tuba ya sor