Unity监听外部路径文件变化
1、使用时机
一般用于管理型软件使用,例如监听其他应用的本地存档,进行云存档功能
2、使用方法
private void StartApp(string path,string savePath,string args)
{
Process process = Process.Start(path,args);
if(process != null)
{
Listener(savePath);
}
}
private void ApplicationQuitListener(FileSystemWatcher watcher)
{
if(watcher != null)
{
watcher.EnableRaisingEvents = false;//关闭监听
}
}
private void Listener(string path)
{
//监听路径文件变化 监听.xml后缀的文件
FileSystemWatcher watcher = new FileSystemWatcher(path,"*.xml");
watcher.Created += WatcherExecute;
watcher.Changed += WatcherExecute;
watcher.Deleted += WatcherExecute;
watcher.Renamed += WatcherExecute;
watcher.EnableRaisingEvents = true;//启动监听
}
private void WatcherExecute(object sender, FileSystemEventArgs e)
{
switch (e.ChangeType)
{
case WatcherChangeTypes.Created:
Debug.Log($"检测到新增文件:{e.Name}");
break;
case WatcherChangeTypes.Changed:
Debug.Log($"检测到文件{e.Name}已经改变");
break;
case WatcherChangeTypes.Deleted:
Debug.Log($"检测到文件{e.Name}已经删除");
break;
case WatcherChangeTypes.Renamed:
Debug.Log($"检测到文件{e.Name}已经重命名");
break;
}
}