第 10 行对每个 artistDir 调用 eachDir() , 第 10 行的 { 和第 17 行的 之间的代码形成另一个处理 albumDir 的闭包 。
第 14 行 , 在每个 albumDir 上调用 eachFile() , 第 14 行的 { 和第 16 行的 之间的代码形成了处理专辑内容的第三级闭包 。
在本文的范围内 , 我对每个文件唯一需要做的就是开始构建信息表 , 我将其创建为一个以竖线分隔的 CSV 文件 , 它可以导入 LibreOffice 或 OfficeOnly 或任何其他电子表格 。 现在 , 代码输出前三列:艺术家目录名、专辑目录名和内容文件名(同样 , 第 2 行输出 CSV 标题行) 。
在我的 Linux 笔记本电脑上运行它会产生以下输出:
$ groovy TagAnalyzer.groovy | head
artistDir|albumDir|contentFile
Habib Koite & Bamada|Afriki|02 - Ntesse.flac
Habib Koite & Bamada|Afriki|08 - NTeri.flac
Habib Koite & Bamada|Afriki|01 - Namania.flac
Habib Koite & Bamada|Afriki|07 - Barra.flac
Habib Koite & Bamada|Afriki|playlist.m3u
Habib Koite & Bamada|Afriki|04 - Fimani.flac
Habib Koite & Bamada|Afriki|10 - Massake.flac
Habib Koite & Bamada|Afriki|11 - Titati.flac
Habib Koite & Bamada|Afriki|03 – Africa.flac
[...
Richard Crandell|Spring Steel|04-Japanese Lullaby [Richard Crandell
.flac
Richard Crandell|Spring Steel|Spring Steel.pdf
Richard Crandell|Spring Steel|03-Zen Dagger [Richard Crandell
.flac
Richard Crandell|Spring Steel|cover.jpg
$
在性能方面:
$ time groovy TagAnalyzer.groovy | wc -l9870real0m1.482suser0m4.392ssys0m0.230s$
又好又快 。 它在一秒半内处理近 10000 个文件!对我来说足够快 。 可观的性能、紧凑且可读的代码 , 还有什么不喜欢的?
- 近日|余承东:没有5G,我们用4G增强+WIFI 6来弥补
- 贝尔金推出了一款65W双口氮化镓充电器|一款小小充电器近300元用料如何?贝尔金65W氮化镓快充拆解
- 我们成年了! 每日经济新闻创刊18周年,线上发布五大创新项目
- 唉|这么又“杀”我微信了?
- 最近我们经常遇到这样的购机需求:工作为主|价格真香表现全面的“工作站级设计本”!惠普战99测评
- 由于注射器是临床和药物注射的关键医疗器械|一次性使用无菌注射器活塞滑动初始力和平均力如何检测?
- 本文转自:央视网央视网消息:近日|超八倍任务时间!我国百吨级火箭发动机单台最长试车创新纪录
- 如何将mp4格式转换成别的视频格式?
- 如何把录音转换成mp3格式?
- 如何利用电脑录制网页?
