using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
namespace myCase1st
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string select_path;//..................................选择目录
string select_extension;//.............................选择类型
string keyword;//......................................关键字
string[] filelist;//...................................文件列表
string rewords;//......................................替换内容
private void button1_Click(object sender, EventArgs e)//...........................获得目录
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
select_path = fbd.SelectedPath;
this.textBox1.Text = select_path;
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)//...........获得类型
{
select_extension = comboBox1.SelectedItem.ToString();
}
private void button2_Click(object sender, EventArgs e)//..............................显示文件列表
{
keyword = this.textBox2.Text;
if (select_extension != null && select_path != null)
{
filelist = Directory.GetFiles(select_path);//.........................获得路径下的文件列表
listView1.Items.Clear();
foreach (string fil in filelist)
{
FileInfo f = new FileInfo(fil);
string str1="";
str1 = System.IO.File.ReadAllText(fil, System.Text.UnicodeEncoding.GetEncoding("gb2312"));
if (select_extension == ".*")
{
if (str1.IndexOf(keyword) != -1)//.........................判断是否有关键字
{
ListViewItem m = new ListViewItem();
m.Text = f.Name;
m.SubItems.Add(f.DirectoryName);
m.SubItems.Add(f.Length.ToString());
m.SubItems.Add(f.Extension);
listView1.Items.Add(m);
}
}
else if (f.Extension == select_extension)
{
if (str1.IndexOf(keyword) != -1)//.........................判断是否有关键字
{
ListViewItem m = new ListViewItem();
m.Text = f.Name;
m.SubItems.Add(f.DirectoryName);
m.SubItems.Add(f.Length.ToString());
m.SubItems.Add(f.Extension);
listView1.Items.Add(m);
}
}
}
}
this.label6.Text = listView1.Items.Count.ToString();
}
private void 移除文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.listView1.SelectedItems.Count != 0)
{
listView1.Items.RemoveAt(listView1.SelectedIndices[0]);
}
this.label6.Text = listView1.Items.Count.ToString();
}//...............移除选中项
private void 添加文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
FileInfo f = new FileInfo(ofd.FileName);
ListViewItem m = new ListViewItem();
m.Text = f.Name;
m.SubItems.Add(f.DirectoryName);
m.SubItems.Add(f.Length.ToString());
m.SubItems.Add(f.Extension);
listView1.Items.Add(m);
}
this.label6.Text = listView1.Items.Count.ToString();
}//..............添加项
private void 用记事本打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.listView1.SelectedItems.Count != 0)
{
string fname = this.listView1.Items[listView1.SelectedIndices[0]].SubItems[0].Text;
string fpath = this.listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text;
string pn = fpath + "\\" + fname;
System.Diagnostics.Process.Start("notepad.exe", pn);
}
}//........记事本打开
public void reInfo(string path,string keyword,string rewords)
{
StreamWriter sw = new StreamWriter(path);
sw.WriteLine(this.textBox1.Text);
sw.Close();
}
private void button3_Click(object sender, EventArgs e)
{
DialogResult MsgBoxResult;
MsgBoxResult = MessageBox.Show("确认替换吗,如果替换内容为空将会删除文件中的关键字。", "温馨警告^!^", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
if (MsgBoxResult == DialogResult.Yes)
{
rewords = textBox3.Text;
string fname = "";
string fpath = "";
string pn = "";
for (int count = 0; count < listView1.Items.Count; count++)
{
if (this.listView1.Items.Count != 0)
{
fname = this.listView1.Items[count].SubItems[0].Text;
fpath = this.listView1.Items[count].SubItems[1].Text;
pn = fpath + "\\" + fname;
string str = "";
if (keyword.Length != 0)
{
str = System.IO.File.ReadAllText(pn, System.Text.UnicodeEncoding.GetEncoding("gb2312"));
if (str.IndexOf(keyword) != -1)
{
str = str.Replace(keyword, rewords);
}
System.IO.File.WriteAllText(pn, str, System.Text.UnicodeEncoding.GetEncoding("gb2312"));
}
}
}
MessageBox.Show("本次已将这些文件中的“" + keyword + "”替换为“" + rewords + "”!!");
}
}//............................替换内容
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
文件查找,关键字替换(未修改),布布扣,bubuko.com
原文:http://www.cnblogs.com/h-siriuser/p/3898979.html