c#实现实时抓取监视源文件夹中的新生成txt文件,当有新文件生成时,判断该文件是否为可编辑文件,如果是可编辑文件,则在文件头部添加信息,并将其转为csv格式,保存到目标文件夹中
时间: 2024-04-30 11:19:49 浏览: 94
你可以使用FileSystemWatcher类来监视指定文件夹中是否有新的文件生成。以下是一个简单的示例代码,可以实现对指定文件夹中新生成的txt文件的监视:
```csharp
using System.IO;
class Program
{
static void Main(string[] args)
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\目标文件夹路径";
watcher.Filter = "*.txt";
watcher.Created += new FileSystemEventHandler(OnFileCreated);
watcher.EnableRaisingEvents = true;
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
private static void OnFileCreated(object sender, FileSystemEventArgs e)
{
// 判断文件是否可编辑
if ((File.GetAttributes(e.FullPath) & FileAttributes.ReadOnly) != FileAttributes.ReadOnly)
{
// 在文件头部添加信息
string content = "添加的信息" + Environment.NewLine + File.ReadAllText(e.FullPath);
// 将文件转为csv格式
string csvContent = ConvertToCsv(content);
// 保存到目标文件夹
string targetFolder = @"C:\目标文件夹路径";
string targetFilePath = Path.Combine(targetFolder, Path.GetFileNameWithoutExtension(e.FullPath) + ".csv");
File.WriteAllText(targetFilePath, csvContent);
}
}
private static string ConvertToCsv(string content)
{
// 将内容转为csv格式
// ...
return csvContent;
}
}
```
在上述代码中,可以通过设置FileSystemWatcher类的Path和Filter属性来指定要监视的文件夹和筛选文件的条件。在OnFileCreated方法中,可以通过判断文件的属性来确定文件是否可编辑,并进行相应的操作,如在文件头部添加信息、转为csv格式并保存到目标文件夹中。其中,ConvertToCsv方法是一个自定义方法,用于将文本内容转为csv格式。
阅读全文