去除代码行号的一个小程序(控制台版本)
生活随笔
收集整理的這篇文章主要介紹了
去除代码行号的一个小程序(控制台版本)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
清風竹林發布了去除代碼行號的一個小程序,確實方便大家收集一些文章代碼,但個人認為象這樣的小東東,要使廣大網友能拿來就用,用.Net 2.0做成WinForm,有點貴族化了,于是動手整出個平民化的控制臺版本,可以清除指定的文本文件,也可以對指定目錄進行批量清除,希望對大家有點作用。以下代碼在.Net Framework1.1與.Net Framework2.0均可運行。
??2using?System.IO;
??3using?System.Text;
??4
??5namespace?Ycweb
??6{
??7????/**////?<summary>
??8????///?Summary?description?for?Class1.
??9????///?</summary>
?10????class?CLN
?11????{
?12????????/**////?<summary>
?13????????///?The?main?entry?point?for?the?application.
?14????????///?</summary>
?15????????[STAThread]
?16????????static?void?Main(string[]?args)
?17????????{
?18????????????//
?19????????????//?TODO:?Add?code?to?start?application?here
?20????????????//
?21????????????if(args.Length<1)
?22????????????{
?23????????????????Console.WriteLine("用法:\n\r\t?CLN?YourFile.TXT|YourDirectory");
?24????????????}
?25????????????else
?26????????????{
?27????????????????string?tmpArg=args[0];
?28
?29????????????????if(tmpArg.StartsWith("/")?||?tmpArg.StartsWith("?"))
?30????????????????{
?31????????????????????Console.WriteLine("用法:\n\r\t?CLN?YourFile.TXT|YourDirectory");
?32????????????????}
?33????????????????else
?34????????????????{
?35????????????????????//假定用戶提供的參數為目錄,則先判斷目錄是否存在,如果存在則遍歷該目錄下的所有文本文件并清除行號
?36????????????????????if(System.IO.Directory.Exists(tmpArg))
?37????????????????????{
?38????????????????????????Clear?Line?Numbers?For?Files?In?The?Directory#region?Clear?Line?Numbers?For?Files?In?The?Directory
?39????????????????????????DirectoryInfo?di=new?DirectoryInfo(tmpArg);
?40????????????????????????FileInfo[]?txtFileInfo?=?di.GetFiles("*.txt");
?41????????????????????????if(txtFileInfo.Length>0)
?42????????????????????????{
?43????????????????????????????for(int?i=0;i<txtFileInfo.Length;i++)
?44????????????????????????????{
?45????????????????????????????????Console.WriteLine(ClearLine(txtFileInfo[i].FullName));
?46????????????????????????????}
?47????????????????????????}
?48????????????????????????else
?49????????????????????????{
?50????????????????????????????Console.WriteLine(string.Format("指定目錄\"{0}\"并不存在要清除行號的文本文件.",tmpArg));
?51????????????????????????}
?52
?53????????????????????????#endregion
?54????????????????????}
?55????????????????????else
?56????????????????????{
?57????????????????????????Clear?Line?Numbers?For?The?File#region?Clear?Line?Numbers?For?The?File
?58????????????????????????//假定用戶提供的參數為文件名,則先判斷該文件是否存在,如果存在則清除該文件的行號
?59????????????????????????if(File.Exists(tmpArg))
?60????????????????????????{
?61????????????????????????????Console.WriteLine(ClearLine(tmpArg));
?62????????????????????????}
?63????????????????????????else
?64????????????????????????{
?65????????????????????????????Console.WriteLine(string.Format("指定的文件或目錄\"{0}\"并不存在,請核對后重試.",tmpArg));
?66????????????????????????}
?67
?68????????????????????????#endregion
?69????????????????????}
?70????????????????}
?71????????????}
?72????????}
?73????
?74????????/**////?<summary>
?75????????///?清除指定文件中的行號
?76????????///?</summary>
?77????????///?<param?name="fileName">文件名,含路徑</param>
?78????????///?<returns>清除結果信息</returns>
?79????????public?static?string?ClearLine(string?fileName)
?80????????{
?81????????????string?result;
?82????????????FileInfo?fi=new?FileInfo(fileName);
?83????????????string?strExtension?=fi.Extension;
?84????????????try
?85????????????{
?86????????????????using?(StreamReader?reader?=?new?StreamReader(fileName,?Encoding.Default,?true))
?87????????????????{
?88????????????????????using?(StreamWriter?writer?=?new?StreamWriter(fileName.Replace(strExtension,"_clear"?+?strExtension)))
?89????????????????????{
?90????????????????????????char[]?lineNum?=?"#0123456789".ToCharArray();
?91????????????????????????string?code?=?null;
?92????????????????????????while?((code?=?reader.ReadLine())?!=?null)
?93????????????????????????{
?94????????????????????????????code?=?code.TrimStart();
?95????????????????????????????code?=?code.TrimStart(lineNum);
?96????????????????????????????writer.WriteLine(code);
?97????????????????????????}
?98????????????????????}
?99????????????????}
100????????????????result=string.Format("成功清除文件{0}的行號.",fileName);
101????????????}
102????????????catch
103????????????{
104????????????????result=string.Format("清除文件{0}的行號失敗.",fileName);
105????????????}
106
107????????????return?result;
108????????}
109????}
110
111}
112
立即下載源碼(for vs2003)
總結
以上是生活随笔為你收集整理的去除代码行号的一个小程序(控制台版本)的全部內容,希望文章能夠幫你解決所遇到的問題。