資源簡介
內(nèi)容查找,根據(jù)指定的文件夾查找包含指定內(nèi)容的文件(C#源碼)

代碼片段和文件信息
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.IO;
using?System.Diagnostics;
/**********************************************
?*?文本內(nèi)容查找器
?*?時(shí)間:16:24?2009-8-27
?*?作者:王文壯
?*?********************************************/
namespace?FindTextDemo
{
????public?partial?class?MainForm?:?Form
????{
????????public?MainForm()
????????{
????????????InitializeComponent();
????????}
????????///?
????????///?查找事件
????????///?
????????private?void?btnFind_Click(object?sender?EventArgs?e)
????????{
????????????if?(txtContent.Text.Trim()?==?string.Empty)
????????????{
????????????????MessageBox.Show(“請(qǐng)輸入要查找的內(nèi)容!“);
????????????????txtContent.Focus();
????????????????return;
????????????}
????????????///清空ListView所有項(xiàng)
????????????this.lvFileInfo.Items.Clear();
????????????///如果彈出的文件夾對(duì)話框按下的
????????????///是確定則執(zhí)行if語句里的表達(dá)式
????????????if?(folderBrowserDialog1.ShowDialog()?==?DialogResult.OK)
????????????{
????????????????///將文件夾文本框Text屬性設(shè)置為選擇的目錄
????????????????txtFolder.Text?=?folderBrowserDialog1.SelectedPath;
????????????????///用Directory.GetFiles()方法得到
????????????????///指定路徑下的所有文件絕對(duì)路徑!
????????????????string[]?paths?=?Directory.GetFiles(folderBrowserDialog1.SelectedPath?“*.txt“);
????????????????///利用Linq過濾掉后綴不是.txt的文件
????????????????//var?query?=?from?path?in?paths?where?path.EndsWith(“.txt“)?select?path;
????????????????///循環(huán)所有路徑
????????????????foreach?(string?fileName?in?paths)
????????????????{
????????????????????string?content?=?File.ReadAllText(fileName?Encoding.Default);
????????????????????///如果查到有相匹配的字符
????????????????????///則將這個(gè)文件的相關(guān)信息
????????????????????///添加到ListView中
????????????????????if?(content.IndexOf(txtContent.Text)?!=?-1)
????????????????????{
????????????????????????///定義一個(gè)文件信息類
????????????????????????FileInfo?fileInfo?=?new?FileInfo(fileName);
????????????????????????///第一個(gè)是文件路徑
????????????????????????///第二個(gè)是文件大小
????????????????????????///第三個(gè)是最后一次寫入文件時(shí)間
????????????????????????ListViewItem?item?=?new?ListViewItem(new?string[]?{?fileName?fileInfo.Length.ToString()?+?“?KB“?fileInfo.LastWriteTime.ToString()?});
????????????????????????this.lvFileInfo.Items.Add(item);
????????????????????}
????????????????}
????????????}
????????}
????????///?
????????///?雙擊選中的項(xiàng),打開文件
????????///?
????????private?void?lvFileInfo_DoubleClick(object?sender?EventArgs?e)
????????{
????????????if?(lvFileInfo.SelectedItems.Count?!=?0)
????????????{
????????????????///打開選中的文件
????????????????Process.Start(lvFileInfo.SelectedItems[0].Text);
????????????}
????????}
????}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????11264??2009-08-27?16:25??FindTextDemo\FindTextDemo\bin\Debug\FindTextDemo.exe
?????文件??????30208??2009-08-27?16:25??FindTextDemo\FindTextDemo\bin\Debug\FindTextDemo.pdb
?????文件??????14328??2009-08-27?16:21??FindTextDemo\FindTextDemo\bin\Debug\FindTextDemo.vshost.exe
?????文件????????490??2007-07-21?01:33??FindTextDemo\FindTextDemo\bin\Debug\FindTextDemo.vshost.exe.manifest
?????文件???????3750??2009-08-27?16:25??FindTextDemo\FindTextDemo\FindTextDemo.csproj
?????文件???????3176??2009-08-27?16:25??FindTextDemo\FindTextDemo\MainForm.cs
?????文件???????8278??2009-08-24?17:10??FindTextDemo\FindTextDemo\MainForm.Designer.cs
?????文件???????6022??2009-08-24?17:10??FindTextDemo\FindTextDemo\MainForm.resx
?????文件???????1476??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.csproj.FileListAbsolute.txt
?????文件????????908??2009-08-24?17:10??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.csproj.GenerateResource.Cache
?????文件??????11264??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.exe
?????文件????????180??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.MainForm.resources
?????文件??????30208??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.pdb
?????文件????????180??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug\FindTextDemo.Properties.Resources.resources
?????文件????????496??2009-08-24?16:27??FindTextDemo\FindTextDemo\Program.cs
?????文件???????1380??2009-08-24?15:32??FindTextDemo\FindTextDemo\Properties\AssemblyInfo.cs
?????文件???????2874??2009-08-24?15:32??FindTextDemo\FindTextDemo\Properties\Resources.Designer.cs
?????文件???????5612??2009-08-24?15:32??FindTextDemo\FindTextDemo\Properties\Resources.resx
?????文件???????1097??2009-08-24?15:32??FindTextDemo\FindTextDemo\Properties\Settings.Designer.cs
?????文件????????249??2009-08-24?15:32??FindTextDemo\FindTextDemo\Properties\Settings.settings
?????文件????????926??2009-08-24?15:32??FindTextDemo\FindTextDemo.sln
????..A..H.?????15360??2009-08-27?16:25??FindTextDemo\FindTextDemo.suo
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\obj\Debug\Refactor
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\obj\Debug\TempPE
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\bin\Debug
?????目錄??????????0??2009-08-27?16:25??FindTextDemo\FindTextDemo\obj\Debug
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\bin
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\obj
?????目錄??????????0??2009-08-24?17:11??FindTextDemo\FindTextDemo\Properties
?????目錄??????????0??2009-08-27?16:25??FindTextDemo\FindTextDemo
............此處省略4個(gè)文件信息
評(píng)論
共有 條評(píng)論