码迷,mamicode.com
首页 > 其他好文 > 详细

文件查找,关键字替换(未修改)

时间:2014-08-08 12:22:15      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:os   io   文件   for   art   ar   cti   line   

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

文件查找,关键字替换(未修改)

标签:os   io   文件   for   art   ar   cti   line   

原文地址:http://www.cnblogs.com/h-siriuser/p/3898979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!