{
//獲取C盤下Temp文件夾
DirectoryInfo dir = new DirectoryInfo(@"c:\Temp");
//定義符合條件的所有文件集合
List<FileInfo> files = new List<FileInfo>();
//循環該文件夾下所有文件
foreach (FileInfo file in dir.GetFiles())
{
//改文件為office文件
if (file.Extension == "eml" || file.Extension == "doc" || file.Extension == "xls" || file.Extension == "ppt")
{
//該文件名包含關鍵字
if (file.Name.IndexOf(key) != -1)
files.Add(file);
}
}
return files;
}
-----------------------------------------------------------------
改了下,壹般來說只支持DOC的文件,eml,xls,ppt格式的內容是不是包括關鍵字查不出,如果非要查處那些格式文件裏是不是包括關鍵字就再等待高手吧。
protected List<FileInfo> GetFilesByKey(string key)
{
//獲取C盤下Temp文件夾
DirectoryInfo dir = new DirectoryInfo(@"c:\Temp");
//定義符合條件的所有文件集合
List<FileInfo> files = new List<FileInfo>();
//循環該文件夾下所有文件
foreach (FileInfo file in dir.GetFiles())
{
//改文件為office文件
if (file.Extension == "eml" || file.Extension == "doc" || file.Extension == "xls" || file.Extension == "ppt")
{
//該文件名包含關鍵字
if (file.Name.IndexOf(key) != -1)
{
//讀取文件流
FileStream fs= file.OpenRead();
byte[] btContent = new byte[fs.Length];
fs.Read(btContent, 0, fs.Length);
//獲得文件內容
string content = System.Text.Encoding.GetEncoding("gb2312").GetString(btContent);
//內容中包含關鍵字
if (content.IndexOf(key) != -1)
{
files.Add(file);
}
}
}
}
return files;
}