本文目录导读:

调用系统命令工具
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class SystemCommandExample {
public static void main(String[] args) {
try {
// 示例1: 调用ping命令
System.out.println("=== 执行ping命令 ===");
ProcessBuilder pb = new ProcessBuilder("ping", "-c", "4", "www.baidu.com");
Process process = pb.start();
// 读取命令输出
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
int exitCode = process.waitFor();
System.out.println("退出代码: " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
调用Java内部工具类
import java.util.*;
import java.util.stream.*;
public class JavaToolsExample {
public static void main(String[] args) {
// 示例1: 使用Collections工具类
System.out.println("=== Collections工具类 ===");
List<String> list = new ArrayList<>(Arrays.asList("c", "a", "b"));
Collections.sort(list);
System.out.println("排序后: " + list);
// 示例2: 使用Arrays工具类
System.out.println("\n=== Arrays工具类 ===");
int[] numbers = {5, 2, 8, 1, 9};
Arrays.sort(numbers);
System.out.println("排序数组: " + Arrays.toString(numbers));
// 示例3: 使用Stream API
System.out.println("\n=== Stream API ===");
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = nums.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println("偶数: " + evenNumbers);
// 示例4: 使用Optional避免空指针
System.out.println("\n=== Optional工具类 ===");
String str = null;
String result = Optional.ofNullable(str)
.orElse("默认值");
System.out.println("处理空值: " + result);
}
}
调用第三方工具库
// 需要添加依赖:com.google.guava:guava:31.1-jre
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
public class GuavaToolsExample {
public static void main(String[] args) {
// 示例1: 字符串连接
System.out.println("=== Guava Joiner ===");
List<String> words = Arrays.asList("Hello", "World", "Java", "Guava");
String joined = Joiner.on(", ").join(words);
System.out.println("连接字符串: " + joined);
// 示例2: 字符串分割
System.out.println("\n=== Guava Splitter ===");
String csv = "apple,banana,,orange,grape";
Iterable<String> split = Splitter.on(",")
.trimResults()
.omitEmptyStrings()
.split(csv);
System.out.println("分割结果: " + Lists.newArrayList(split));
// 示例3: 集合工具
System.out.println("\n=== Guava Lists ===");
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);
List<List<Integer>> partitions = Lists.partition(numbers, 3);
System.out.println("分组结果: " + partitions);
}
}
自定义工具类
public class CustomTools {
// 字符串工具
public static boolean isEmpty(String str) {
return str == null || str.trim().isEmpty();
}
public static String capitalize(String str) {
if (isEmpty(str)) return str;
return str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase();
}
// 数字工具
public static int parseInt(String str, int defaultValue) {
try {
return Integer.parseInt(str);
} catch (NumberFormatException e) {
return defaultValue;
}
}
// 日期工具
public static String formatDate(Date date, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
public static void main(String[] args) {
// 使用自定义工具类
System.out.println("=== 自定义工具类使用 ===");
System.out.println("空字符串检查: " + isEmpty(" "));
System.out.println("首字母大写: " + capitalize("hello world"));
System.out.println("安全转换数字: " + parseInt("123", 0));
Date now = new Date();
System.out.println("格式化日期: " + formatDate(now, "yyyy-MM-dd HH:mm:ss"));
}
}
实际业务场景:文件处理工具
import java.io.*;
import java.nio.file.*;
import java.util.List;
import java.util.stream.Collectors;
public class FileProcessorExample {
// 读取文件内容
public static String readFile(String filePath) throws IOException {
return new String(Files.readAllBytes(Paths.get(filePath)));
}
// 写入文件
public static void writeFile(String filePath, String content) throws IOException {
Files.write(Paths.get(filePath), content.getBytes());
}
// 复制文件
public static void copyFile(String source, String dest) throws IOException {
Files.copy(Paths.get(source), Paths.get(dest), StandardCopyOption.REPLACE_EXISTING);
}
// 读取CSV文件
public static List<String[]> readCSV(String filePath) throws IOException {
return Files.lines(Paths.get(filePath))
.map(line -> line.split(","))
.collect(Collectors.toList());
}
public static void main(String[] args) {
try {
// 创建示例文件
String content = "name,age,city\nAlice,25,Beijing\nBob,30,Shanghai";
String filePath = "example.csv";
// 写入文件
writeFile(filePath, content);
System.out.println("文件已创建: " + filePath);
// 读取文件
String fileContent = readFile(filePath);
System.out.println("文件内容:\n" + fileContent);
// 解析CSV
List<String[]> records = readCSV(filePath);
System.out.println("\nCSV记录:");
for (String[] record : records) {
System.out.println(Arrays.toString(record));
}
// 清理
Files.deleteIfExists(Paths.get(filePath));
} catch (IOException e) {
System.err.println("文件处理错误: " + e.getMessage());
}
}
}
关键工具调用模式总结
| 工具类型 | 示例 | 适用场景 |
|---|---|---|
| 系统命令 | Runtime, ProcessBuilder | 系统管理、命令执行 |
| Java内置工具 | Collections, Arrays, Stream | 数据处理、集合操作 |
| 第三方库 | Guava, Apache Commons | 增强功能、简化开发 |
| 自定义工具 | 业务工具类 | 特定业务逻辑封装 |
这些示例展示了Java中不同类型的工具调用方法,你可以根据具体需求选择合适的工具调用模式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播