Java互联网架构大数据使用开源工具类来实现这些逻辑了,它不香吗( 三 )


使用 FileUtils.readLines 读取该文件所有行 。 // 读取指定文件所有行 不需要使用 while 循环读取流了List
lines = FileUtils.readLines(fileA)
有读就存在写 , 可以使用 FileUtils.writeLines , 直接将集合中数据 , 一行行写入文本 。 // 可以一行行写入文本List
lines = new ArrayList
0; ) {baos.write(buffer, 0, len);}b = baos.toByteArray();baos.close();// 字节数组转化成字符串String reqMessage = new String(b, "utf-8");} catch (IOException e) {} finally {if (baos != null) {try {baos.close();} catch (IOException e) {}}}
上面代码说起来还是挺复杂的 。 不过我们使用 IOUtils , 一个方法就可以简单搞定:// 将输入流信息全部输出到字节数组中byte[] b = IOUtils.toByteArray(request.getInputStream());// 将输入流信息转化为字符串String resMsg = IOUtils.toString(request.getInputStream());ps: InputStream 不能被重复读取计时
编程中有时需要统计代码的的执行耗时 , 当然执行代码非常简单 , 结束时间与开始时间相减即可 。 long start = System.currentTimeMillis();//获取开始时间//其他代码//...long end = System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间: " + (end - start) + "ms");
虽然代码很简单 , 但是非常不灵活 , 默认情况我们只能获取 ms 单位 , 如果需要转换为秒 , 分钟 , 就需要另外再计算 。
这里我们介绍 Guava Stopwatch 计时工具类 , 借助他统计程序执行时间 , 使用方式非常灵活 。 commons-lang3 与 Spring-core 也有这个工具类 , 使用方式大同小异 , 大家根据情况选择 。 // 创建之后立刻计时 , 若想主动开始计时Stopwatch stopwatch = Stopwatch.createStarted();// 创建计时器 , 但是需要主动调用 start 方法开始计时// Stopwatch stopwatch = Stopwatch.createUnstarted();// stopWatch.start();// 模拟其他代码耗时TimeUnit.SECONDS.sleep(2L);// 当前已经消耗的时间System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));;TimeUnit.SECONDS.sleep(2L);// 停止计时 未开始的计时器调用 stop 将会抛错 IllegalStateExceptionstopwatch.stop();// 再次统计总耗时System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));;// 重新开始 , 将会在原来时间基础计算 , 若想重新从 0开始计算 , 需要调用 stopwatch.reset()stopwatch.start();TimeUnit.SECONDS.sleep(2L);System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));
输出结果为:246总结
今天小编抛砖引玉 , 介绍了字符串、日期、数组/集合、I/O、计时等工具类 , 简化日常业务代码 。 大家看完可以尝试一下 , 不得不说 , 这些工具类真香!
Java互联网架构大数据使用开源工具类来实现这些逻辑了,它不香吗
本文插图
【Java互联网架构大数据使用开源工具类来实现这些逻辑了,它不香吗】


推荐阅读