分享一个管道进度监控小工具顺便回答一个上期评论区的问题

我之前啊

在导入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 ...

最后更新于