有的时候总是需要过滤一些没用的东西,歌词过滤工具V1.1的实现(提供下载)
上个星期写了篇介绍V1.0的,后来用了下发现了几个问题修改了下算是V1.1版本了。主要问题如下,后面提供下载整个项目。
1、V1.0中是直接对歌词文件进行了覆盖,这点如果没有备份的话就惨了哦。在这里加了目标路径,如果不选择则默认为覆盖原文件。
2、V1.0中使用过程中出现了一些无法正常处理的文件。即发生了异常,没做任何处理导致没办法追踪。在这里加了日志记录功能。
3、V1.0的一个Bug,过滤歌词时因为是记录到ArrayList中的,在行满足删除条件时进行删除后该行就不存在了,因此循环数得--,否则出现有些满足删除条件的行无法删除。
修改后主界面如下:
修改后过滤类如下:
代码
public class Filter
{
private ArrayList content = new ArrayList();
private FileIO fileio = new FileIO();
private string[] patterns;
public void ReadFile(string path)
{
content.Clear();
fileio.OpenReadFile(path);
while (!fileio.IsEof())
{
content.Add(fileio.ReadLine());
}
fileio.CloseReadFile();
}
public void Process(string path)
{
ReadFile(path);
FileFilter();
if (Manager.objectpath == "")
{
WriteFile(path);
}
else
{
WriteFile(Manager.objectpath +"\\"+ path.Substring(path.LastIndexOf("\\") + 1));
}
}
public void FileFilter()
{
patterns = Manager.patterns;
for (int i = 0; i < content.Count;i++)
{
for (int j = 0; j < patterns.Length; j++)
{
if (content[i].ToString().Contains(patterns[j]))
{
content.RemoveAt(i);
i --;
break;
}
}
}
}
public void WriteFile(string path)
{
fileio.OpenWriteFile(path);
foreach (string str in content)
{
fileio.WriteLine(str.ToString());
}
fileio.CloseWriteFile();
}
}
{
private ArrayList content = new ArrayList();
private FileIO fileio = new FileIO();
private string[] patterns;
public void ReadFile(string path)
{
content.Clear();
fileio.OpenReadFile(path);
while (!fileio.IsEof())
{
content.Add(fileio.ReadLine());
}
fileio.CloseReadFile();
}
public void Process(string path)
{
ReadFile(path);
FileFilter();
if (Manager.objectpath == "")
{
WriteFile(path);
}
else
{
WriteFile(Manager.objectpath +"\\"+ path.Substring(path.LastIndexOf("\\") + 1));
}
}
public void FileFilter()
{
patterns = Manager.patterns;
for (int i = 0; i < content.Count;i++)
{
for (int j = 0; j < patterns.Length; j++)
{
if (content[i].ToString().Contains(patterns[j]))
{
content.RemoveAt(i);
i --;
break;
}
}
}
}
public void WriteFile(string path)
{
fileio.OpenWriteFile(path);
foreach (string str in content)
{
fileio.WriteLine(str.ToString());
}
fileio.CloseWriteFile();
}
}
下载地址:/Files/yueyue_jwfm/lrcopv1.1.rar
最后给大家推荐我们公司的somusic软件,用了觉得很不错。
Somusic,一款强大的音乐语音搜索软件及音乐播放器软件,支持哼唱搜索、音乐雷达、语音搜索等功能,并支持PC/手机本地搜索,支持播放器功能。
2.0版本在1.0版本基础上,修正了一些bug,并增强了曲库。
通过该软件,你不记得的歌曲,只需要哼哼它的曲调就可以方便的找到它,并下载试听。