控制台工具-Console
# 控制台工具-Console
# 模块介绍
Console工具是对Java标准库中System.out和System.err的封装,提供了更加便捷、强大的控制台输出功能。
# 为什么封装此模块
- 简化输出操作:提供了更简洁的API,避免了重复的
Console.log()调用 - 支持模板输出:内置了
{}占位符替换功能,方便格式化输出 - 异常堆栈打印:自动处理异常对象,同时打印异常信息和堆栈跟踪
- 丰富的输出方式:支持普通输出、错误输出、进度条打印等多种输出形式
- 控制台交互:提供了简单的控制台输入读取功能
# JDK问题解决
Java标准库中的控制台输出存在以下问题:
- API冗长,需要频繁调用
Console.log() - 缺乏内置的模板格式化功能,需要手动拼接字符串
- 异常打印需要手动处理堆栈信息
- 控制台输入操作繁琐
Console工具通过封装这些功能,简化了控制台操作,提高了开发效率。
# 相关JDK模块
java.lang.System:提供了标准输入、输出和错误流java.util.Scanner:用于读取控制台输入
# API文档
# log方法
# 功能说明
同Console.log()方法,打印控制台日志。支持多种参数形式,包括单个对象、多个对象和模板输出。
# 方法签名
// 无参,打印空行
public static void log()
// 单个对象,支持Throwable自动打印堆栈
public static void log(final Object obj)
// 多个对象,自动用空格分隔
public static void log(final Object obj1, final Object... otherObjs)
// 模板输出,支持{}占位符替换
public static void log(final String template, final Object... values)
// 异常+模板输出
public static void log(final Throwable t, final String template, final Object... values)
# 示例
// 打印空行
Console.log();
// 打印单个对象
Console.log("Hello Hutool");
// 打印多个对象
Console.log("Hello", "Hutool", 123);
// 模板输出
Console.log("Hello {}, version: {}", "Hutool", "v7");
// 异常打印
try {
int i = 1 / 0;
} catch (Exception e) {
Console.log(e, "发生异常:{}", "除零错误");
}