gpt4 book ai didi

C# 通过网络传输大量小文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:54 25 4
gpt4 key购买 nike

我编写了一个 C# 控制台应用程序来将许多小的 XML 文件(大约 80000 个文件,每个文件大约 300KB,传输的总大小大约 3GB)从 AS400 机器上的共享目录复制到 Windows 上的共享目录机器。

两台机器在同一个局域网上,但是复制要花很多时间。我需要遍历文件,因为我需要更新数据库中的表,我知道这可能是瓶颈,但不包括 SQL 更新;有没有更快的方法来传输这些文件?

    public void CopyFiles()
{
DirectoryInfo IFS = new DirectoryInfo(@"\\AS400Machine\ShareFolder\");

string NewPath = @"\\WindowsMachine\ShareFolder\";

Directory.CreateDirectory(NewPath);
foreach (FileInfo xmlFile in IFS.GetFiles())
{
var newFullPath = string.Format(@"{0}\{1}", NewPath, xmlFile.Name);

// SQL Update

// Copy File
xmlFile.CopyTo(newFullPath, true);
}
}

最佳答案

如果您的程序在机器 C 上运行并将文件从机器 A 传输到机器 B,那么您在这里无能为力,除了在多个线程或进程中进行复制。

如果你可以在两台机器上运行你的程序,你可以做一些巧妙的技巧,比如压缩文件,这样你就可以传输一个(或几个)大文件而不是数千个小文件。

关于C# 通过网络传输大量小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24200253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com