實現(xiàn)簡單的 hosts 添加和刪除工具

           1using System;
           2using System.Collections.Generic;
           3using System.ComponentModel;
           4using System.Data;
           5using System.Drawing;
           6using System.Linq;
           7using System.Text;
           8using System.Windows.Forms;
           9using System.IO;
          10
          11namespace Google.le
          12{
          13    public partial class Form1 : Form
          14    {
          15        public Form1()
          16        {
          17            InitializeComponent();
          18        }

          19        /// <summary>
          20        /// 按鈕事件,檢查hosts 中是否有 相關(guān)的條目
          21        /// </summary>
          22        /// <param name="sender"></param>
          23        /// <param name="e"></param>

          24        private void button1_Click(object sender, EventArgs e)
          25        {
          26            string fileName = @"C:\Windows\System32\drivers\etc\hosts";
          27            if (File.Exists(fileName))
          28            {
          29                MessageBox.Show("file exists");
          30             //讀文件stream
          31                StreamReader stream = null;
          32               //保存文件定義的字節(jié)流  
          33                StreamWriter streamWriter = null;
          34                List <string>ls = new List<string>();
          35
          36                try
          37                {
          38                    //打開hosts
          39                    stream = new StreamReader(fileName);
          40                    // a 標(biāo)記是否有相關(guān)條目
          41                    bool a = false;
          42                    string strtemp="";
          43                    string temp;
          44                    while ((temp=stream.ReadLine())!=null{
          45                        
          46                       //相關(guān)條目名稱 這里以Goog。le為例
          47                        if (temp.StartsWith("#Goog.le")) {
          48                            a = true;
          49                            stream.ReadLine();
          50                            stream.ReadLine();
          51                        }
          else {
          52                           
          53                         strtemp+=temp+Environment.NewLine;
          54                        }

          55
          56                    }

          57
          58                    if (a) {
          59                        MessageBox.Show("刪除完畢");
          60                    }

          61                    else {
          62                        strtemp += "#Goog.le"+ Environment.NewLine+"203.208.37.99 goog.le"+Environment.NewLine+"203.208.37.99 webcache.googleusercontent.com"+Environment.NewLine;
          63                       
          64                        
          65                        MessageBox.Show("已經(jīng)添加");
          66                        
          67                    }

          68                    richTextBox1.Text = strtemp;
          69                    stream.Close();
          70                    streamWriter = new StreamWriter(fileName);
          71                    
          72                    streamWriter.Write(strtemp);
          73                    streamWriter.Flush();
          74                    streamWriter.Close();
          75                }

          76                catch (IOException){
          77                
          78                }

          79
          80            }

          81            else
          82            {
          83                MessageBox.Show("file not found");
          84            }

          85        }

          86    }

          87}

          88
          關(guān)于用程序修改 hosts 這里做了簡單的版本。這里用一種取巧的方式,并沒有用正則表達式匹配。(雖說正則表達式的效果會好一點)以后有機會做一個正則表達式的。這個小程序正好是我的一個朋友需要的小工具。臨時湊合了一個。

          ----------------以下是hosts的相關(guān)格式------此程序只適用于以下格式的hosts

          # Copyright (c) 1993-1999 Microsoft Corp.
          #
          # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
          #
          # This file contains the mappings of IP addresses to host names. Each
          # entry should be kept on an individual line. The IP address should
          # be placed in the first column followed by the corresponding host name.
          # The IP address and the host name should be separated by at least one
          # space.
          #
          # Additionally, comments (such as these) may be inserted on individual
          # lines or following the machine name denoted by a '#' symbol.
          #
          # For example:
          #
          #      102.54.94.97     rhino.acme.com          # source server
          #       38.25.63.10     x.acme.com              # x client host

          #127.0.0.1         localhost                              

           218.11.132.81     f1.xiami.net                             #f3.xiami.net
          #Goog.le
          203.208.37.99 goog.le
          203.208.37.99 webcache.googleusercontent.com

          ——————————————————————————————————————————————————————————
          最后貼上一個我朋友的博客http://sneezry.com/ 里面有相關(guān)google的中國穩(wěn)定的訪問方式一文值得推薦

          posted on 2011-02-21 00:01 scorpio小蝎 閱讀(1072) 評論(0)  編輯  收藏 所屬分類: C#

          <2011年2月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272812345
          6789101112

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 慈溪市| 湄潭县| 望江县| 温泉县| 邢台县| 巨鹿县| 龙山县| 福海县| 辛集市| 广丰县| 西平县| 镇雄县| 仁布县| 镇安县| 三门县| 上虞市| 邢台县| 芒康县| 遵义市| 丰顺县| 光泽县| 呼和浩特市| 万山特区| 剑川县| 鹤峰县| 宜黄县| 阜城县| 汝城县| 东城区| 石城县| 吴旗县| 新巴尔虎左旗| 永济市| 莆田市| 宜章县| 合作市| 客服| 蛟河市| 芜湖市| 遂平县| 新余市|