分享一个管道进度监控小工具顺便回答一个上期评论区的问题
我之前啊
在导入MySQL数据库的时候
都是一直等
没有什么进度哈,像这样
大家看就一直等
没有什么进度条
而且呢终止的时候也比较慢
特别麻烦
要等很久
我先把它关掉哈
然后今天给大家分享一个工具
叫PV全称叫pipe viewer
它有很多的安装方法
最原始的就是下来自己编译安装
然后还支持很多系统的安装方法
比如说啊apt-get呀
或者yum啊
还有Mac系统的brew啊
都可以
它安装好之后怎么用呢
还是刚才那个命令
改一下mysql -u root -p
然后db
刚才是直接把这个文件放这了
对吧
现在呢
我们不需要在这写这个文件了
然后呢在前面用PV
然后这个文件
然后呢用管道,注意看
然后输密码
大家看,它就有进度了
而且呢这块还有剩余的时间
好我终止一下啊
然后在录这个视频的时候呢
我就想起了上期那个\r的问题
很多同学说的没错啊
\r是一个遗留的产物
但是他现在的其实也是有用的
比如说做这个进度条
我们要保证他在一行里边一直更新
我们就可以用\r回到前面(前提:不换行)
再重新打印
那对此呢
我在java里就简单写了个demo
像这样啊
准备了一个Bar
主要负责这个进度条的展示
然后呢bar.show()来展示这进度条
然后延迟一秒
去开始模拟这个进度条的变化
然后最重要的是
就是在这里边show()的时候注意
其实就是加了一个
每次循环重新打印这一行
我们来看一下效果啊
因为我要获取这个控制台的宽度
用了这个jline这个库
但是这个库呢
它没法在这个调试的时候获取宽度
所以呢我们用这个终端
我先进到这个target里边
然后java
开始大家看就像这个效果
然后呢我们去终端也是一样的:java ...
最后更新于
这有帮助吗?