清风竹林发布了去除代码行号的一个小程序,确实方便大家收集一些文章代码,但个人认为象这样的小东东,要使广大网友能拿来就用,用.Net 2.0做成WinForm,有点贵族化了,于是动手整出个平民化的控制台版本,可以清除指定的文本文件,也可以对指定目录进行批量清除,希望对大家有点作用。以下代码在.Net Framework1.1与.Net Framework2.0均可运行。

  1using System;
  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)

去除代码行号的一个小程序(控制台版本)相关推荐

  1. Notepad++去除代码行号的几种方法

    Notepad++去除代码行号的几种方法 (转自:http://hi.baidu.com/beer_zh/item/e70119309ee587f2a8842892) 问:在网页中复制代码时,常常遇到 ...

  2. vue代码怎么变成小程序_使用vue编写h5公众号跳转小程序的实现代码

    前言:我使用vue编写的h5公众号,实现点击小程序入口,打开小程序,微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_App ...

  3. VS2010下使用dmp文件和pdb文件定位程序异常代码行号的注意事项

    2018-01-12 创建人:Ruo_Xiao 2018-01-15 修改人:Ruo_Xiao 添加为dump.exe和pdb版本保持一致的原因. 一.minidump文件 崩溃转储是创建一个应用程序 ...

  4. 微信公众号图卡片息发送【模拟发送一个小程序信息】

    首先我们来看一下微信官方关于图文消息发送给出的文档说明 小程序卡片跳转小程序,代码示例: <mp-miniprogram data-miniprogram-appid="wx12312 ...

  5. C#程序代码行号设置

    C#程序代码行号设置 转载于:https://www.cnblogs.com/swtool/p/3840512.html

  6. android简单小项目实例_300行C代码打造简单的闹钟小程序,适合初学C++同学练手的项目...

    小编今天教初学C++的同学实现闹钟程序的方法,代码结构相对简单,注释也较为完善.现分享给大家供大家参考. 整体项目源码: image 支持开机运行的VC++6.0早起叫醒程序,运用定时的原理实现的类似 ...

  7. 运营一个小程序或公众号需要哪些准备工作多少钱?

    运营一个小程序或公众号需要哪些准备工作. 首先你要有公司资质或个人商户资质,需要营业执照. 服务器一年大概需要1200左右.这个公开的,没什么好讲. 域名也不多,一年几十块. 公众号及小程序认证费,一 ...

  8. 玩转微信应用号,「小程序」开发实操指南第一弹

    摘要: 怎样将一个「服务号」改造成为「小程序」?全球首个微信应用号开发教程第一弹. 微信应用号(小程序,「应用号」的新称呼)终于来了! 目前还处于内测阶段,微信只邀请了部分企业参与封测.想必大家都关心 ...

  9. 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...

    本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...

最新文章

  1. iOS UITextField清空按钮
  2. 使用 Python 在 GitHub 上运行你的博客
  3. C# 读取ini文件 百度问问学习文档
  4. 【控制】《自动控制原理》胡寿松老师-第9章-线性系统的状态空间分析与综合
  5. Hadoop学习--HBase与MapReduce的使用
  6. User Exits,Customer Exits,BADI and BTE基本概念
  7. (转载)Shutter 0.90 发布 – BUG修复和增强
  8. linux查看证书位数,查看Linux系统是32位还是64位(getconf WORD_BIT误区)
  9. Redis和Memcached:数据类型 过期策略 持久策略 虚拟内存 Value大小
  10. 20应用统计考研复试要点(part24)--简答题
  11. Qt没有被正确安装,请运行make install问题的解决
  12. c语言 申请1k内存,怎么解决函数内申请内存,函数外释放的问题
  13. php excel下载打不开了,php下载excel无法打开的解决方法
  14. Axure经典案例高保真交互下载(数据统计图高保真原型+雷达图+条形图+折线图+web端通用后台管理原型+统计表、统计分析+用户画像分析)
  15. 分布式文件存储FastDFS之配置Nginx模块
  16. ArcGIS的ArcMap的Mxd格式符号转换为Geoserver style的sld格式
  17. Qt4 Qt5 通用设置应用软件图标 快捷方式图标方法
  18. 360企业安全校招内推(可免笔试)
  19. python测试开发教程 龙腾_龙腾源码网京东 有货自动下单,Python 脚本 你的口罩...
  20. PPT写得好的人,为什么都如此遭人痛恨?

热门文章

  1. 台积电放大招:甩开英特尔 7nm和5nm芯片将诞生
  2. 终于找到你!如何将前端console.log的日志保存成文件?
  3. shell在一个大文件找出想要的一段字符串操作技巧
  4. SAP basis事务代码笔记
  5. Java编码规范,在您进行编码之前应该阅读的规范
  6. 【转】定位oops的具体代码行
  7. nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置
  8. activemq 发两条只收到一条_浅谈ActiveMQ与使用
  9. js 控制超出字数显示省略号
  10. 实践卡尔曼滤波--小球追踪