首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FileSystemWatcher如何在另一个计算机目录上工作?

在计算机网络中,FileSystemWatcher 是一个用于监视文件系统更改的 .NET 类。要在另一台计算机上的目录上使用 FileSystemWatcher,您需要确保两台计算机之间的网络连接正常,并且您具有访问目标目录的权限。

以下是使用 FileSystemWatcher 监视另一台计算机上目录的步骤:

  1. 确保两台计算机之间的网络连接正常。
  2. 确保您具有访问目标目录的权限。
  3. 在您的应用程序中,创建一个 FileSystemWatcher 实例,并设置其 Path 属性为要监视的目录的路径。
  4. 设置 FileSystemWatcher 的 NotifyFilter 属性以指定要监视的更改类型,例如文件名更改、属性更改等。
  5. 为 FileSystemWatcher 的 Changed、Created、Deleted、Renamed 等事件添加事件处理程序,以便在监视的更改发生时执行相应的操作。
  6. 调用 FileSystemWatcher 的 EnableRaisingEvents 方法以启动监视。

以下是一个简单的示例代码:

代码语言:csharp
复制
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = @"\\另一台计算机的 IP 地址或计算机名\目标目录";
        FileSystemWatcher watcher = new FileSystemWatcher(path);
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
                                | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        watcher.Changed += OnChanged;
        watcher.Created += OnChanged;
        watcher.Deleted += OnChanged;
        watcher.Renamed += OnRenamed;
        watcher.EnableRaisingEvents = true;
        Console.WriteLine("监视已启动,按任意键退出...");
        Console.ReadKey();
    }

    static void OnChanged(object source, FileSystemEventArgs e)
    {
        Console.WriteLine($"文件 {e.FullPath} 已 {e.ChangeType.ToString().ToLower()}");
    }

    static void OnRenamed(object source, RenamedEventArgs e)
    {
        Console.WriteLine($"文件 {e.OldFullPath} 已重命名为 {e.FullPath}");
    }
}

请注意,在上面的示例代码中,我们使用了 UNC 路径(Universal Naming Convention)来指定要监视的目录的路径。UNC 路径是一种用于指定网络资源的路径,它以两个反斜杠(\)开头,后面是计算机的 IP 地址或计算机名,然后是要监视的目录的路径。

您可以使用上述方法在另一台计算机上的目录上使用 FileSystemWatcher 来监视文件系统更改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

FileSystemWatcher 监视指定目录中的变更

.Net框架类库中的FileSystemWatcher它的名称一样是一个用于监视文件系统变化的一个控件。使用 FileSystemWatcher 监视指定目录中的更改。...可监视指定目录中的文件或子目录的更改。可以创建一个组件来监视本地计算机、网络驱动器或远程计算机上的文件。...下面的示例使用FileSystemWatcher监视当前应用程序下的所有.txt文本文件的变更: //定义FileSystemWatcher对象         FileSystemWatcher fsw...//实例化一个FileSystemWatcher对象             fsw = new FileSystemWatcher();             //设置要监视的目录的路径,当前程序运行的目录...);             //监视的目录中改变文件或目录时引发的事件             //监视的目录中的文件或目录的大小、系统属性、             //上次写入时间、上次访问时间或安全权限进行更改时

59330

使用FileSystemWatcher监视文件变化

IncludeSubDirectories——这个属性说明FileSystemWatcher对象是否应该监控子目录中(所有文件)发生的改变。     ...可以进一步的过滤要监控的更改类型,watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite            ...Deleted——当被监控的目录中有一个文件被删除,就提交这个事件。     Renamed——当被监控的目录中有一个文件被重命名,就提交这个事件。 ...如果有时FileSystemWatcher对象似乎无法工作,请首先检查EnableRaisingEvents,确保它被设为真。...问题:   程序里需要监视某个目录下的文件变化情况: 一旦目录中出现新文件或者旧的文件被覆盖,程序需要读取文件内容并进行处理;但在实际处理中发现当一个文件产生变化时,Change事件被反复触发了好几次。

89210

使用devtools导致的类型转换异常及Spring Devtools 源码初步解析

,在启动fileSystemWatcher的时候会在fileSystemWatcher注册一个ClassPathFileChangeListener监听用于响应监听的目录发生变动,具体代码如下: @...(); } fileSystemWatcher内部会启动一个Watcher线程用于循环监听目录变动,如果发生变动就会发布一个onChange通知到所有注册的FileChangeListener...永远不要在一个真正的生产机器这么用。 远程应用支持两个方面的功能;一个是服务端,一个是客户端。只要你设置了spring.devtools.remote.secret,服务端就会自动开启。...任何资源更新都会被推送到远程服务器,远程应用再判断是否触发了重启。如果你在一个云服务器做迭代,这样会很有用。一般来说,字节更新远程应用,会比你本地打包再发布要快狠多。...5总结 前言万语,写代码之前最好认真思考,否则一顿操作猛虎,到头来代码还是要一遍一遍回滚掉,正如上个礼拜的我,天天写,写完发现到了晚上又一行行恢复,感觉职业生涯达到了瓶颈 ?

1.3K30

ASP.NET Core的配置(5):配置的同步

实际IConfiguration的GetReloadToke方法的返回类型就是这么一个接口,至于该方法具体返回一个怎样的对象,我们会在下一节予以介绍。...fileProvider.Watch(filename).RegisterChangeCallback(callback, null); 11: return config; 12: } 如果我们通过指定目录和文件名调用另一个...顾名思义,PhysicalFileProvider是一个针对具体物理文件的FileProvider,它实际是借助一个FileSystemWatcher对象来监控指定的文件。...现在我们来讨论配置同步的另一个话题,即如何在不重启应用程序的情况下使用新的配置。...如上面的代码片段所示,除了实现定义在IConfiguration接口中的所有成员之外,ConfigurationReloadToken还具有另一个名为OnReload的方法。

1K70

路径,文件,目录,IO常见操作汇总

;     三、文件、目录、驱动器的操作,获取它们的基本信息,获取和设置文件和目录的属性,文件的版本信息,         搜索文件和目录,文件判等,复制、移动、删除、重命名文件和目录;     四、...注意:如果打算使用相对路径,建议你将工作目录设置为各个交互文件的共同起点,否则可能会引入     一些不易发现的安全隐患,被恶意用户利用来访问系统文件。    ...但Path类提供的方法还是可以为你节省工作量,这就是它的静态GetTempFileName方法,它在当前用户的临时目录下创建一个临时文件(文件名称一定是唯一的),临时目录通常类似于这样:C:/Documents...这时可以使用FileSystemWatcher组件,指定要进行监视的目录或文件,并处理其Created,Deleted,Renamed,Changed事件。    ...要使用FileSystemWatcher组件,首先要创建它的一个实例,然后设置下列属性:     Path:指定要监视的目录;     Filter:指定要监视的文件类型,”*.txt”;

1.4K40

文件监控程序V2.0改进版(网站防挂马好手)

前言 技多不压身,多掌握几种不同的编程语言,不但有助于开拓我们的视野,还可以让我们在工作时,自己写一些小程序来帮我们减少工作量。...C#对文件进行监控,得用到FileSystemWatcher类。...FileSystemWatcher类提供了Created, Deleted,Rename等事件的监控 例如shack2写的文件监控源码,我以创建文件为例: private void fileCreate_EventHandle...大致处理思路是: 触发文件状态(:创建)---->对触发该状态的文件进行检查------->确定文件内容是否存在可疑------->不处理or隔离 知道了思路,写起来就相对简单些了。...使用方法:监控目录输入你要监控的网站目录,点击“开始监控”。隔离区默认设置在C:TEMP目录下,凡是被隔离的文件,均在该目录下。

1.6K50

Linux面试题Top100

无需担心一个接口关闭或拔出,因为另一个接口可以工作。绑定界面的行为取决于绑定方法。 36. Linux中的网络绑定有哪些不同的模式?...回答: cp命令: cp命令用于复制文件和目录。它还用于备份文件或目录。 句法: $ cp文件名 55.如何在Linux中从系统中删除文件或目录?...回答: rmdir用于删除命令行指定的每个目录。...回答:这是一台集中式服务器,在工作站上没有任何存在状态。当特定系统的状态拍摄快照时,用户可能希望所有其他计算机都处于该特定状态,因此可能会出现这种情况。 69.解释无状态Linux服务器的功能吗?...71.解释Ctrl + Alt + Del组合键在Linux操作系统工作吗?

13.3K42

IO异步,读写压缩文件,监控文件系统

所以.NET 4.5以后,对FileStream和StreamReader/Writer的读写文件方法加入了异步版本,从而在操作大文件时解放对主线程的阻塞,我们可以通过Async后缀来区分哪是异步的,FileStream...读写压缩文件: 我们都用过压缩软件压缩文件,压缩文件的原理大体可以理解为通过算法把重复的数据清除,解压缩就是通过算法把清除的重复数据复原。....监控文件系统: .NET 提供了一个FilSystemWatcher类用于监控文件系统,何为监控文件系统呢,就是监控文件或者目录的操作,当用户进行某项操作时,监控对象会调用对应的方法,这跟事件及其响应机制是一样的模式...本节对此不做代码演示,主要讲解一下FileSystemWatcher类的一些属性: Path:设置要监控的文件位置或者目录 NotifyFilter:枚举,指示要监控的内容,可以通过OR运算符进行枚举合并...Filter:指定要监控哪些文件:*.txt FilSystemWatcher类有四个事件:Changed,Created,Deleted,Renamed,我们需要为这四个事件添加事件处理程序

58040

使用 PerfCollect 跟踪 .NET 应用程序

本文适用于:✔️ .NET Core 2.1 SDK 及更高版本 在 Linux 遇到性能问题时,可使用 perfcollect 收集跟踪,以便收集有关出现性能问题时计算机上发生的状况的详细信息。...然后使用这些数据分析各种运行时组件( GC、JIT 和线程池)的行为。 最新版本的 .NET Core 和 Linux 性能工具支持自动解析框架代码的方法名称。...files ...FINISHED Cleaning up artifacts ...FINISHED Trace saved to sampleTrace.trace.zip 压缩的跟踪文件现存储在当前工作目录中...使用 TraceCompass 打开跟踪文件 Eclipse TraceCompass 是另一个可用于查看跟踪的选项。...TraceCompass 也可以在 Linux 计算机工作,因此不需要将跟踪移到 Windows 计算机上。 要使用 TraceCompass 打开跟踪文件,需要解压缩该文件。

1.1K20

.NET Core的文件系统:FileProvider是个什么东西?

这些基本的功能均由相应的FileProvider来提供,从某种意义讲FileProvider代表了整个文件系统。...我们可以通读属性Exists判断指定的目录或者文件是否真实存在,它的另一个属性IsDirectory总是返回False。...对于PhysicalFileProvider来说,它会委托一个FileSystemWatcher对象来完成最终的文件监控任务。...值得一提的是,该方法会以一个IDisposable对象的形式返回注册对象,原则讲我们应该在适当的时机调用其Dispose方法解除注册的回掉,以免出现内存泄漏的问题。...至于IChangeToken接口的另一个属性ActiveChangeCallbacks,它表示当数据发生变化时是否需要主动执行注册的回调操作。

68080

使用 .NET Core 3.0 的 AssemblyLoadContext 实现插件热加载

.ToLower() == ".cs") _changed = true; }; _watcher = new FileSystemWatcher...你可能会有疑问,为什么不在文件改变后立刻触发重新加载插件,一个原因是部分文件编辑器的保存文件实现可能会导致改变的事件连续触发几次,延迟触发可以避免编译多次,另一个原因是编译过程中出现的异常可以传递到访问插件实例的线程中...首先它需要删除原有的 DLL 文件,因为卸载程序集有延迟,原有的 DLL 文件在 Windows 系统很可能会删除失败并提示正在使用,所以需要先重命名并在下次删除。...才可以直接创建 (目前也只有 .NET Core 3.0 支持这项机制),如果需要支持可回收则创建时需要设置 isCollectible 参数为 true,因为支持可回收会让 GC 扫描对象时做一些额外的工作所以默认不启用...关于 ZKWeb,3.0 会使用了本文介绍的机制实现插件热加载,但因为我目前已经退出 IT 行业,所有开发都是业余空闲时间做的,所以基本不会有很大的更新,ZKWeb 更多的会作为一个框架的实现参考。

4.5K30

【20】进大厂必须掌握的面试题-50个Hadoop面试

在HDFS中,数据块分布在群集中的所有计算机上。而在NAS中,数据存储在专用硬件。 HDFS旨在与MapReduce范例一起使用,在该范例中,计算被移至数据。...根据经验法则,文件,块或目录的元数据占用150个字节。 17.您如何在HDFS中定义“阻止”?Hadoop 1和Hadoop 2中的默认块大小是多少?可以更改吗?...它显示了机器运行的所有Hadoop守护程序,即namenode,datanode,resourcemanager,nodemanager等。 19.您如何在Hadoop中定义“机架感知”?...如果某个节点执行任务的速度较慢,则主节点可以在另一个节点冗余地执行同一任务的另一个实例。然后,首先完成的任务将被接受,而另一个任务将被杀死。该过程称为“推测执行”。...50.如何在Hadoop中配置“ Oozie”作业?

1.8K10

如何使用 TmpwatchTmpreaper 删除旧文件

你可能忘记了删除计算机上某个目录中不再需要的文件的操作。这可能是“下载”或任何其他目录。它可能已经增长了一段时间。 即便有足够的存储空间,你也应该删除它们,因为这会在列出文件时降低系统速度。...使用 Bash 脚本在 Linux 中删除早于 “X” 天的文件/文件夹 今天,我们将向你展示如何在 Linux 使用 Tmpwatch 程序来实现这一目标。...如何在 Linux 安装 tmpwatch 可以在官方仓库中按以下方式安装 tmpwatch。 对于 RHEL/CentOS 6 系统,请使用 yum 命令安装 tmpwatch。...所有示例都可以预期工作。 了解关键选项和参数 atime(文件上次访问时间):显示命令或脚本等任意进程最后一次访问文件中数据的时间。...这意味着更改文件属性的时间(所有权或组等)。 dirmtime(目录的上次修改时间):显示目录一次修改时间。 时间参数定义删除文件的阈值。

3.7K10

版本控制简介

以下是它的工作原理: 在工作目录中创建或修改文件。对更改满意后,使用git add命令将修改后的文件移动到暂存区。 新文件和已修改文件的快照将添加到暂存区。现在您可以预览文件了。...安装Git 您可以在台式计算机,Linode云服务器或两者安装Git。开始使用Git很容易。您所要做的就是在您的Linode云服务器安装Git,创建一个仓库,并进行初始提交。...接下来让我们看一下版本控制工作流程,以了解如何在现实场景中使用Git。 环境 现在是时候使用您在版本控制和服务器构建方面所学到的知识来为代码创建不同的环境。...环境是独立的沙箱,可以存储在不同的计算机或同一系统。您可以创建单独的环境来存储处在不同开发和生产阶段的文件。...例如,如果您是一名独自工作的开发人员,您可能希望将开发环境保留在您的个人台式计算机并将暂存和生产环境部署在Linode。您也可以将所有环境保留在单个系统

1.8K30

Java程序员必备技能《

以下是 Java 程序员需要掌握的一些计算机网络知识: 基本网络概念:了解计算机网络的基本概念, OSI 模型、TCP/IP 协议栈、IP 地址、子网、MAC 地址等。...以下是一些常见的 Linux 命令,Java 程序员应该掌握这些命令以便在 Linux 环境中更高效地工作: ls:列出当前目录下的文件和子目录。 ls cd:切换工作目录。...cd /path/to/directory pwd:显示当前工作目录的绝对路径。 pwd mkdir:创建新目录。 mkdir new_directory rm:删除文件或目录。...Profile 和属性: 使用 Maven Profile 定制不同环境下的构建配置,开发环境、测试环境、生产环境。 熟悉如何在 POM 文件中使用属性来提取配置信息,使构建过程更灵活。...集成其他工具: 与 IDE 整合:掌握如何在常见的集成开发环境 IntelliJ IDEA、Eclipse 中使用 Maven。

12110

在 Linux 命令行发送邮件的 5 种方法(推荐)

这 5 个命令分别是: mail / mailx mutt mpack sendmail ssmtp 工作原理 我先从整体上来解释下 Linux 中邮件命令怎么把邮件传递给收件人的。...mailx 在某些交互特性更加强大,缓冲邮件消息、垃圾邮件评分和过滤等。在 Linux 发行版,mail 命令是 mailx 命令的软链接。...-A:用于在基于 Debian 的系统添加附件。 -s:指定消息标题。 2) 如何在 Linux 安装 mutt 命令 mutt 是另一个很受欢迎的在 Linux 终端发送邮件的命令。...Linux 安装 mpack 命令 mpack 是另一个很受欢迎的在 Linux 终端上发送邮件的命令。...Linux 安装 ssmtp 命令 ssmtp 是类似 sendmail 的一个只发送不接收的工具,可以把邮件从本地计算机传递到配置好的 邮件主机(mailhub)。

8.7K41
领券