今天游览博客,看别人的代码,觉得写得不错,想copy下来,无奈代码却有行号,我一向是先把代码copy下来然后一行一行的去除的,不过想想以后如果总是这么做的话也太麻烦了,于是终于决定写一个工具软件来做这件事情,共享给大家,希望能有所帮助。程序基于Microsoft Visual Studio 2005,主要代码如下:
 
1using System;
  2using System.Collections.Generic;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Text;
  7using System.Windows.Forms;
  8
  9using System.IO;
 10namespace ClearCodeLineNum
 11{
 12    public partial class Form1 : Form
 13    {
 14        public Form1()
 15        {
 16            InitializeComponent();
 17
 18            openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
 19            openFileDialog1.FileName = null;
 20        }
 21
 22        private void btnOpenFile_Click(object sender, EventArgs e)
 23        {
 24            if (openFileDialog1.ShowDialog() == DialogResult.OK)
 25            {
 26                txtFilePath.Text = openFileDialog1.FileName;
 27                btnClearCode.Focus();
 28            }
 29        }
 30
 31        private void btnClearCode_Click(object sender, EventArgs e)
 32        {
 33            if (File.Exists(txtFilePath.Text))
 34            {
 35                using (StreamReader reader = new StreamReader(txtFilePath.Text, Encoding.Default, true))
 36                {
 37                    int index = txtFilePath.Text.LastIndexOf('.');
 38
 39                    /**strExtension is the file extension, we need to maintain the 
 40                    ///cleared file's extension
 41                    string strExtension = txtFilePath.Text.Substring(index);
 42                    using (StreamWriter writer = new StreamWriter(txtFilePath.Text + ".clear" + strExtension))
 43                    {
 44                        /**lineNum will be the array of numbers that need removing
 45                        ///from every line code.
 46                        char[] lineNum = "0123456789".ToCharArray();
 47                        string code = null;
 48                        while ((code = reader.ReadLine()) != null)
 49                        {
 50                            /**remove the spaces at the front of the line,otherwise 
 51                            ///it will stop the operation of the next line code.
 52                            code = code.TrimStart();
 53                            code = code.TrimStart(lineNum);
 54                            writer.WriteLine(code);
 55                        }
 56                    }
 57                }
 58                MessageBox.Show("成功去除行号", "清风竹林", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 59            }
 60            btnOpenFile.Focus();
 61        }
 62
 63        private void btnCopyPath_Click(object sender, EventArgs e)
 64        {
 65            if (File.Exists(txtFilePath.Text))
 66            {
 67                FileInfo fileInfo = new FileInfo(txtFilePath.Text);
 68                System.Diagnostics.Process.Start(fileInfo.DirectoryName);
 69                btnOpenFile.Focus();
 70            }
 71        }
 72    }
 73}呵呵,现在好了,如上面的代码,只要copy下来保存成文本,用本程序就可以很容易的去除了。
  
 
 
                     
            
        













 
                    

 
                 
                    