将lrc批量转换为txt,同时删除时间标签

做项目需要分析LRC文件,要删了时间标签转化成txt才比较好处理,于是在网上找到了这段代码,很好用。

LRC文件跟EXE放在同一根目录下即可。

using System.Text;
using System;
using System.IO;
//"[" ASCII码为91,"]"ASCII码为93
namespace Lrc_trimer 
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("---------\n本程序可以将*.lrc中的时间标签去除,并批量装换为*.txt\nDidier制作\n----------\n任意键继续");
            Console.ReadKey();

//一些提示语句
            FileStream Read = null;
            FileStream Write = null;
            bool ok = false ;
            int x = 0;

//定义一些变量和类
           string[] filenames = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.lrc");
           if (filenames == null) { return; }

//以字符串数组的形式获取所有lrc文件名,要是没有就直接退出

           foreach (string i in filenames)

//用foreach语句对每个文件进行处理
           {
               Read = File.Open(i, FileMode.Open);
               Write = File.Open (i.Replace("lrc","txt"),FileMode.OpenOrCreate );

//创建.txt,并初始化读写流
               while (x > -1)

//"粗略"判断是否读到了结尾
               {
                   x = Read.ReadByte();

//读一个字节
                   switch (x) 
                   { 
                       case 91:

                           ok = false;
                           break;

//读到“[”,意味着时间标志开始,关闭bool值ok。隐含着跳过这个字节

                       case 93:

                           ok = true;
                           break;

//读到“]”,意味着时间标志结束,打开bool值ok。隐含着跳过这个字节

                       default :

                           if (ok == true & x != -1)
                           { Write.WriteByte(Convert.ToByte(x)); }

//通过写入旗帜bool值ok来判断是否要将字节转存到txt文件。是用x!=-1精确判断是否读到了末尾

                           break;
                              
                   }
                   
                   
               }
               
               x = 0;
 //重要!清除x=-1,否则会出乱子
           }

//foreach这样的神句帮助我们遍历并处理所有lrc文件
        }
    }
}

//有此可以看出,C#这样的托管代码如此简单,乃们都投奔吧

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值