C#编写程序监测某个文件夹中的txt中有没有敏感词
时间: 2023-08-05 11:02:54 浏览: 99
您好,为了监测某个文件夹中的txt中是否包含敏感词,您可以使用以下步骤:
1. 使用C#编写一个程序,使用FileSystemWatcher类监测文件夹中的txt文件的创建、修改和删除事件。
2. 当txt文件发生变化时,读取文件内容,并使用正则表达式或其他方式搜索敏感词汇。
3. 如果发现敏感词汇,可以使用日志记录或其他方式记录该文件名和敏感词汇。
以下是一个简单的代码示例:
```
using System;
using System.IO;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\ExampleFolder"; // 您要监测的文件夹路径
watcher.Filter = "*.txt"; // 监测txt文件
watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
watcher.EnableRaisingEvents = true;
Console.WriteLine("开始监测文件夹...");
Console.ReadLine();
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
if (e.ChangeType == WatcherChangeTypes.Changed || e.ChangeType == WatcherChangeTypes.Created)
{
string content = File.ReadAllText(e.FullPath);
if (HasSensitiveWords(content))
{
Console.WriteLine("文件 {0} 中包含敏感词汇", e.Name);
}
}
}
private static void OnRenamed(object source, RenamedEventArgs e)
{
Console.WriteLine("文件 {0} 重命名为 {1}", e.OldName, e.Name);
}
private static bool HasSensitiveWords(string content)
{
string[] sensitiveWords = new string[] { "敏感词1", "敏感词2", "敏感词3" }; // 您要检测的敏感词汇
foreach (string sensitiveWord in sensitiveWords)
{
if (Regex.IsMatch(content, sensitiveWord))
{
return true;
}
}
return false;
}
}
```
在以上示例中,您需要将`@"C:\ExampleFolder"`替换为您要监测的文件夹路径,并将`sensitiveWords`数组替换为您要检测的敏感词汇。当程序发现txt文件中包含敏感词汇时,将会在控制台输出相应的提示信息。
阅读全文