cs外链下载次数过多总次数?

《反恐精英cs1.6》(英文:Counter-Strike;简称CS)是一种以团队合作为主的射击类游戏。1998年,由Valve Software公司制作推出,是一款第一人称射击游戏,属于《半条命》(Half-Life)的其中一个游戏模组(MOD)衍生而成的游戏,来源是《雷神之锤II》(Quake 2)的MOD,多数原Action Quake 2贡献者加入了CS开发。WCG、CPL、ESWC等电子竞技都以CS1.6为比赛项目。
CS系列下载
CS1.6地图下载
CS1.6***器下载
CS1.6精华索引
反恐精英系列
游戏类型:射击游戏
游戏平台:PC
游戏制作:Valve Software
游戏类型:射击游戏
游戏平台:PC
游戏制作:Turtle Rock
游戏类型:射击游戏
游戏平台:PC
游戏制作:Valve Software
游戏类型:射击游戏
游戏平台:PC
游戏制作:Valve Software
CS1.6下载大全
最新下载热门下载
暂无任何记录
CS1.6攻略大全
最新攻略热门攻略
热门评论/最新评论
CopyRight2004年-年
游迅网 All Rights Reserved
备案编号:沪ICP备号-9从java文件和CS文件里查询方法使用次数工具
来源:博客园
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了,毕竟程序员以懒著称,因此,写了一个小工具进行查询。 一、效果图 从图中不难看出,现在的功能只能查询两类文件java和cs,毕竟是针对我们用的,如果想扩展的话,也是没有问题的,毕竟方法是通用的。 最终得到的是一个excel 二、开发过程 1、首先建一个实体类 实体类里面包含包名、文件名和使用次数 class ContentEntity
private string _paO
private string _fileN
private int useC
/// &summary&
/// package或者是NameSpace
/// &/summary&
public string PaOrns
return _paO
}
_paOrns =
/// &summary&
/// 文件名
/// &/summary&
public string FileName
return _fileN
}
_fileName =
/// &summary&
/// 使用次数
/// &/summary&
public int UseCount
return useC
}
useCount =
} 实体类 2、截取字段 因为要从Java文件里取出package后面的内容,CS文件里取出NameSpace后面的内容,因此需要用到截取字段,这个小工具的开发并没有用SubString来截取字段,而是用的正则表达式 class Match
/// &summary&
/// 获取java的package
/// &/summary&
/// ¶m name="str"&&/param&
/// &returns&&/returns&
public static string GetPackage(string str)
return Regex.Match(str, "(?&=package).*?(?=;)").V
/// &summary&
/// 获取C#的NameSpace
/// &/summary&
/// ¶m name="str"&&/param&
/// &returns&&/returns&
public static string GetNamespace(string str)
return Regex.Match(str, "(?&=namespace).*?(?=\r)").V
/// &summary&
/// 获取文件名
/// &/summary&
/// ¶m name="str"&&/param&
/// &returns&&/returns&
public static string GetFileName(string str)
return Regex.Match(str, "(?&=_).*?(?=_)").V
/// &summary&
/// 获取命名空间
/// &/summary&
/// ¶m name="str"&&/param&
/// &returns&&/returns&
public static string GetPaOrNs(string str)
return Regex.Match(str, "^.*?(?=_)").V
} 正则截取字段 3、读取文件夹下文件 循环遍历选择的文件夹路径下的所有文件 /// &summary&
/// 取得指定路径下所有目录及文件名称(可递归)
/// &/summary&
/// ¶m name="strDir"&指定路径&/param&
/// ¶m name="strFilePattern"&要与 strDir 中的文件名匹配的搜索字符串
/// “*.abc*”返回扩展名为 .abc、.abcd、.abcde、.abcdef 等的文件。
/// “*.abcd”只返回扩展名为 .abcd 的文件。
“*.abcde”只返回扩展名为 .abcde 的文件。
/// &/param&
/// ¶m name="arrDirs"&查询得到的所有目录&/param&
/// ¶m name="arrFiles"&查询得到的所有文件名称&/param&
/// ¶m name="bIsRecursive"&是否递归查询&/param&
/// &returns&&/returns&
private static List&string& GetFileList(string strDir, string strFilePattern, List&string& arrDirs, List&string& arrFiles, bool bIsRecursive)
DirectoryInfo dirInfo = new DirectoryInfo(strDir);
if (string.IsNullOrEmpty(strDir))
return null;
//取得指定路径下的所有符合条件的文件
FileInfo[] strFiles = dirInfo.GetFiles(strFilePattern);
//取得指定路径下的所有目录
DirectoryInfo[] strDirs = dirInfo.GetDirectories();
foreach (FileInfo item in strFiles)
{//将所有文件名称加入arrFiles中
arrFiles.Add(item.FullName);
}
foreach (DirectoryInfo item in strDirs)
{//将所有目录名称加入arrDirs中
arrDirs.Add(item.FullName);
}
if (bIsRecursive)
{//递归
if (strDirs.Length & 0)
foreach (DirectoryInfo item in strDirs)
{//递归遍历所有文件夹
GetFileList(item.FullName, strFilePattern, arrDirs, arrFiles, bIsRecursive);
catch (Exception)
throw;
return arrF
} 读取文件夹下的文件 4、读取需要的文件 读取java或cs文件,并判断里面是否存在要搜索的关键字 /// &summary&
/// 获取包含查询内容的集合
/// &/summary&
/// ¶m name="path"&路径&/param&
/// ¶m name="searchStr"&要查询的内容&/param&
public static List&ContentEntity& GetInfoIncludeSearchStr(string path, string searchStr, string type)
List&ContentEntity& ceList = new List&ContentEntity&();
ContentE
//获取查询内容的长度
int strLength = searchStr.L
//包含路径的所有集合
List&string& AllFile = GetFileList(path, type, new List&string&(), new List&string&(), true);
foreach (string item in AllFile)
FileStream fs = new FileStream(item, FileMode.Open, FileAccess.Read, FileShare.None);
StreamReader sr = new StreamReader(fs);
//读取文件的内容
string strLine = sr.ReadToEnd();
if (strLine.Length &= strLength)
for (int i = 0; i & strLine.Length - strL i++)
//判断是否包含查询的内容
if (strLine.Substring(i, strLength).Equals(searchStr))
ce = new ContentEntity()
PaOrns = type == FileType.type_Java ? Match.GetPackage(strLine) : Match.GetNamespace(strLine),//判断是哪种类型,选择不同的处理方式
FileName = Path.GetFileName(item),
UseCount = 1
ceList.Add(ce);
//关闭
sr.Close();
fs.Close();
return ceL
} 查询关键字 5、导出到excel 将最终得到的结果导出到excel,并打开excel public static void ExportExcel(System.Data.DataTable dt)
if (dt == null || dt.Rows.Count == 0)
return;
Application xlApp = new Application();
if (xlApp == null)
return;
CultureInfo CurrentCI = Thread.CurrentThread.CurrentC
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Workbooks workbooks = xlApp.W
Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet worksheet = workbook.Worksheets[1];
long totalCount = dt.Rows.C
long rowRead = 0;
long percent = 0;
for (int i = 0; i & dt.Columns.C i++)
worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnN
range = worksheet.Cells[1, i + 1];
range.Interior.ColorIndex = 15;
for (int i = 0; i & dt.Rows.C i++)
for (int j = 0; j & dt.Columns.C j++)
worksheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();
catch
worksheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString().Replace("=", "");
rowRead++;
percent = (100 * rowRead) / totalC
worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
worksheet.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, " ", "Red", 15, MsoTriState.msoFalse, MsoTriState.msoTrue, 150, 200);
xlApp.Visible = true;
} 导出excel
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动

参考资料

 

随机推荐