上个星期写了篇介绍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,并增强了曲库。
通过该软件,你不记得的歌曲,只需要哼哼它的曲调就可以方便的找到它,并下载试听。