在最近的项目当中,需要修改host文件来实现网址拦击,不说了直接上代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 文件读写
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string st = textBox1.Text;
FileStream fs = null;
string filePath = @"C:\windows\system32\drivers\etc" + "\\hosts";
//将待写的入数据从字符串转换为字节数组
Encoding encoder = Encoding.UTF8;
byte[] bytes = encoder.GetBytes("\n "+st+"\n\r");
try
{
fs = File.OpenWrite(filePath);
//设定书写的开始位置为文件的末尾
fs.Position = fs.Length;
//将待写入内容追加到文件末尾
fs.Write(bytes, 0, bytes.Length);
}
catch (Exception ex)
{
MessageBox.Show("xi");
}
finally
{
fs.Close();
}
//写入代码(去掉原有内容)
//StreamWriter sw = new StreamWriter(@"C:\Users\lgh\Desktop" + "\\hosts");//创建StreamWriter对象sw
//sw.Write(this.textBox1.Text);//把this.textBox2.Text这字符串写入到 sw里
//sw.Dispose();//释放流。
}
private void button2_Click(object sender, EventArgs e)
{
string str;
StreamReader sr = new StreamReader(@"C:\windows\system32\drivers\etc" + "\\hosts", false);
str = sr.ReadToEnd().ToString();
sr.Close();
this.textBox2.Text = str;///读取
}
}
}
在运行要注意权限问题,希望对大家有帮助
原文:http://blog.csdn.net/u014180504/article/details/44653023