2

File.Move / File.Copy 是否使用 NIC 将文件从一台计算机移动到另一台计算机?如果没有,我如何在 C# 中编程以使用 NIC 将文件从一台计算机传输到另一台计算机?

4

3 回答 3

1

是的,File.Move并且File.Copy将在网络共享上工作,例如:

File.Copy(@"C:\Filename.txt", @"\\hostname\c$\Filename.txt");
File.Copy(@"C:\Filename.txt", @"X:\Filename.txt"); // If the network share was mapped to X:\

如果您的用户有权访问共享,或者您之前在 Windows 资源管理器中使用不同的凭据访问过共享,这将起作用。如果没有,您将获得一个System.UnauthorizedAccessException并且您必须提供凭据

于 2012-12-19T09:19:09.780 回答
0

File.Move / File.Copy 在比实际硬件(您的 NIC)更高的抽象级别上工作。

有可能(取决于您复制的文件的路径)操作系统决定使用 NIC,仅使用本地磁盘、USB 连接或其他任何东西。

您不必关心这一点,您只需要确保目标的路径是正确的(本地文件路径或 UNC 路径或其他)

于 2012-12-19T09:33:24.550 回答
0

如果 NIC 是指网络接口卡,那么是的,它将使用它将文件从一台计算机移动到另一台计算机,但只能通过操作系统间接移动。

文件过程将与操作系统对话,操作系统会在需要时负责使用 NIC。

您必须将 Windows 设置为在网络中。

你所做的看起来像:

File.Copy(@"C:\foo.bar", @"\\nas\data\foo.bar");

但是,如果您映射网络驱动器,它也可能如下所示:

File.Copy(@"C:\foo.bar", @"n:\data\foo.bar");

这一切都取决于你的情况。

于 2012-12-19T09:30:36.690 回答