Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 压缩文件集合并移动到目标位置_C#_.net_Io_Zip - Fatal编程技术网

C# 压缩文件集合并移动到目标位置

C# 压缩文件集合并移动到目标位置,c#,.net,io,zip,C#,.net,Io,Zip,我正在收集目标目录中的所有文件,并将它们添加到zip文件夹中。一旦这个zip文件制作完成,并且不再需要添加更多的文件,我想将这个zip文件夹移动到另一个位置 以下是我执行上述所有操作的代码: var targetFolder = Path.Combine(ConfigurationManager.AppSettings["targetFolder"], "Inbound"); var archiveFolder = ConfigurationManager.AppSettings["Archiv

我正在收集目标目录中的所有文件,并将它们添加到zip文件夹中。一旦这个zip文件制作完成,并且不再需要添加更多的文件,我想将这个zip文件夹移动到另一个位置

以下是我执行上述所有操作的代码:

var targetFolder = Path.Combine(ConfigurationManager.AppSettings["targetFolder"], "Inbound");
var archiveFolder = ConfigurationManager.AppSettings["ArchiveFolder"];

// get files
var files = Directory.GetFiles(targetFolder)
    .Select(f => new FileInfo(f))
    .ToList();

// places files into zip
using (var zip = ZipFile.Open("file.zip", ZipArchiveMode.Create))
{
    foreach (var file in files)
    {
        var entry = zip.CreateEntry(file.Name);
        entry.LastWriteTime = DateTimeOffset.Now;

        using (var stream = File.OpenRead(file.ToString()))
        using (var entryStream = entry.Open())
            stream.CopyTo(entryStream);
    }
}

// move the zip file
File.Move("file.zip", archiveFolder );
我摔倒的地方是zip文件夹的移动。当我的代码到达
File.Move
时,我收到一个错误,告诉我它无法创建已经存在的东西。即使我在存档文件夹位置硬编码,而不是从配置中获取,也会发生这种情况


这有什么不对吗?

您需要指定目标文件名和目录:

File.Move(“File.zip”,Path.Combine(archiveFolder,“File.zip”);