去除代码行号的一个小程序(控制台版本)
清风竹林发布了去除代码行号的一个小程序,确实方便大家收集一些文章代码,但个人认为象这样的小东东,要使广大网友能拿来就用,用.Net 2.0做成WinForm,有点贵族化了,于是动手整出个平民化的控制台版本,可以清除指定的文本文件,也可以对指定目录进行批量清除,希望对大家有点作用。以下代码在.Net Framework1.1与.Net Framework2.0均可运行。
1
using System;
2
using System.IO;
3
using System.Text;
4![](/Images/OutliningIndicators/None.gif)
5
namespace 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![](/Images/OutliningIndicators/InBlock.gif)
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
54
}
55
else
56
{
57
Clear Line Numbers For The File
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![](/Images/OutliningIndicators/InBlock.gif)
107
return result;
108
}
109
}
110![](/Images/OutliningIndicators/InBlock.gif)
111
}
112![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
54
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
57
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
69
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
70
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
71
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
72
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
98
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
99
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
109
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
112
![](/Images/OutliningIndicators/None.gif)
立即下载源码(for vs2003)