Win10的应用商店中,可以安装喜马拉雅,并下载感兴趣的音频文件。下载的音频如下图所示, 有两个json文件(图1),其中一个json文件(2677885list.json)包含了所下载音频的详细信息,包括id和title(文件真实名称);音频文件是一串纯数字的id作为名称,没有显示音频的真实名称(图2)。可以利用这个id找到音频文件的真实名称,并给音频文件重命名。对音频文件重命名后的效果(图3)。

  本人用WinForm开发了一个应用,界面主要三个部分:1. 选择音频目录;2. 选择json文件;3. 开始。

1. 选择音频目录:

1         private void bt_select_file_Click(object sender, EventArgs e)
2         {
3             FolderBrowserDialog path = new FolderBrowserDialog();
4             path.ShowDialog();
5             tb_file.Text = path.SelectedPath;
6         }

View Code

2. 选择json文件:

1         private void bt_select_json_Click(object sender, EventArgs e)
2         {
3             OpenFileDialog file = new OpenFileDialog();
4             file.ShowDialog();
5             tb_json.Text = file.FileName;
6         }

View Code

3. 开始:

(1)定义FileInfo实体类

1     public class FileInfo
2     {
3         public string id { get; set;}
4         public string title { get; set; }
5     }

View Code

(2)定义FileInfo的泛型类对象,读取json文件,转换成string类型,再反序列化为类对象

 1                 // 定义FileInfo的泛型类对象
 2                 List<FileInfo> fileInfo = new List<FileInfo>();
 3
 4                 // 读取json文件,转换成string类型,再反序列化为类对象
 5                 using (StreamReader file = File.OpenText(tb_json.Text))
 6                 {
 7                     using (JsonTextReader reader = new JsonTextReader(file))
 8                     {
 9                         JToken token = JToken.ReadFrom(reader);
10                         string json = token.ToString();
11                         fileInfo = JsonConvert.DeserializeObject<List<FileInfo>>(json);
12                     }
13                 }

View Code

(3)获取目录中的音频文件

1                 // 获取目录中的音频文件
2                 DirectoryInfo dircetoryInfo = new DirectoryInfo(tb_file.Text);
3                 System.IO.FileInfo[] files = dircetoryInfo.GetFiles();

View Code

(4)根据json中的id信息找到对应的文件,然后用title和.mp3组成新的文件名,最后用MoveTo方法进行重命名

View Code

工程下载:https://files.cnblogs.com/files/GordonYang/XimalayaRename_V1.0.rar

转载于:https://www.cnblogs.com/GordonYang/p/10166047.html

重命名从喜马拉雅下载的音频文件相关推荐

  1. Python喜马拉雅有声小说音频文件爬虫

    今天爬取的是喜马拉雅有声小说. 目标网址:https://www.ximalaya.com/youshengshu/ 分析操作开始: 首先在喜马拉雅有声小说页面,播放任意音频. 当播放音频时,打开抓包 ...

  2. Windows10文件重命名/复制/移动时,导致文件资源管理器卡顿,解决方案

    Windows10文件重命名/复制/移动时,导致文件资源管理器卡顿的解决方案 有时,重命名文件要卡顿好久,拖拽一个文件也要卡顿好久.解决方式很简单: (1)随便打开一个文件夹,点击左上角文件-> ...

  3. 用python 对蜻蜓fm下载的音频文件进行批量还原文件名

    对蜻蜓fm下载的音频文件进行批量还原文件名 小孩爱听蜻蜓fm的故事,可是懒得老买会员(囊中羞涩).干脆就想把音频文件下载回来慢慢听. 蜻蜓fm的安卓app可以下载音频文件保存到本地电脑里,便于临时会员 ...

  4. 使用Python爬虫示例-自动下载网页音频文件

    使用Python爬虫示例-自动下载网页音频文件 使用库 目标网站 获取并解析网页源代码 访问下载链接 使用库 requests 用来发送http请求. BeautifulSoup 一个灵活又方便的网页 ...

  5. 上传文件重命名后,下载时,用文件原名,不用Guid命名

    下载时,通过a标签,<a href="/images/myw3schoolimage.jpg" download="w3logo">,可以通过,do ...

  6. 文件批量重命名的方法,图解很多文件改名

    如何批量重命名文件?是很多人经常为遇到的问题,如果靠人工一个一个去修改文件名,不仅改名慢,而且改起名来枯燥的很,使用批量重命名软件,可以提高90%的文件改名效率.下面,为大家介绍一款批量重命名文件的软 ...

  7. 文件夹重命名,快速修改多个文件夹名称

    文件夹里的面有很多个子文件夹,看着都好复杂,要一个一个的重命名文件夹觉得好难,手动一个一个重命名,学得也是一件很苦恼的事情,别急下面小编教你这个新技巧.一键可操作,下面就让我闪来学习下吧. 准备工具: ...

  8. 重命名技巧,支持多个文件夹快速重命名

    你是否还遇到类似的问题?很多的文件夹需要挨个的重命名,比如说有几百个,几千个,那么挨个重命名得费多少时间,下面来试试这个操作,快速批量重命名文件夹,听着还不错,一起来看看. 本次用到的工具是文件批量改 ...

  9. 重命名数据库表空间和数据文件

    一.重命名数据库表空间名 使用alter tablespace- rename to命令,可以重命名一个永久或者临时表空间.例如,下面重命名users表空间: Alter tablespace tbs ...

  10. oracle重命名日志成员出错,Oracle日志文件

    一.一些oracle日志的常用命令 oracle的日志文件是记录数据库变化的一个凭证,就是oracle对于一切数据库的操作的记录方便以后查找分析错误.有可以恢复数据等作用.oracle的文件可以分为数 ...

最新文章

  1. IBM IMM默认ID 及修改默认IP 方法
  2. 地理信息系统控件GIS控件TatukGIS Developer Kernel 下载及介绍
  3. spring boot(一)创建项目
  4. 简单工厂模式、工厂方法模式、抽象工厂模式 之间的对比
  5. 面向对象软件开发代码结构(1)
  6. PCA算法中样本方差和协方差的无偏估计与n-1的由来
  7. mysql 主主+keepalive
  8. 【学习笔记】程序设计导引及在线实践 数值转换问题
  9. 计算机里怎么添加桌面,电脑上怎么把我的电脑添加到桌面上
  10. ip计算机网络适配器,如何更改计算机网络ip
  11. c语言代码混淆器,工具:c 混淆器——AvIator
  12. 锁定计算机后 360wifi,如何使360wifi关闭电脑后继续使?
  13. android icon psd,60个PSD格式的ICON和按钮模板
  14. 领导力21法则(归纳)
  15. python爬虫豆瓣电影按电影类型_Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题...
  16. AD(altium designer)15原理图与PCB设计教程(六)——印制电路板设计的基础知识
  17. 贝塔分布与狄利克雷分布
  18. 适合小白的Linux入门学习教程,从安装到实操(涵盖各种常用指令,超详细!)
  19. HTML5简明教程系列之HTML5基础(一)
  20. Nginx做缓存服务器

热门文章

  1. 最全面的PS快捷键使用指南
  2. java集成(支付宝)蚂蚁金服
  3. 使用 Clang Tools —— ClangFormat
  4. php代码,IP地址归属地批量查询功能
  5. 启动凤凰系统出现android,凤凰系统重启后出现蓝屏时的解决方法
  6. 倍福PLC控制台达EtherCAT伺服案例分析
  7. SQLSERVER 2000清除挂起
  8. delphi linux arm_诺基亚N900搭载完整linux系统的小众智能手机
  9. D. Bash and a Tough Math Puzzle
  10. 固态硬盘在线测试软件,SSD检测工具(SSDlife Pro)