tarArchive ExtractContents()使创建目录'*'异常,因为已经存在具有相同名称的文件或目录

时间:2019-12-09 07:40:37

标签: c# asp.net-core filestream

我用asp.net核心编写了一个程序,我将提取tar存档文件,并且使用了这种方法。

tarArchive.ExtractContents(destPathFolder)

但由于创建目录'*'时出现错误异常,因为已经存在具有相同名称的文件或目录。我不知道如何解决此问题,我做了很多搜索,但无法解决我的问题。

例如,打击地址是我要提取文件的地方。

  

C:\ data \ 634192CC-FDCB-4711-BD41-B0F7A7E77148 \ BAF59489-C7F9-4747-A0A1-B3C7A94FFFD4-2019-12-08   14-47-19 \ task-2019-12-08 21-13-20

此方法提取具有文本文件的tar存档文件。这意味着如果我们有图像文件,我们将得到该错误。

static void ExtractTar(Stream inStream, String destFolder)
{
    string sourcePath = Path.Combine(destFolder , "/data" );
    Stream tarStream = new TarInputStream(inStream);
    TarArchive tarArchive = TarArchive.CreateInputTarArchive(tarStream);
    tarArchive.ExtractContents(sourcePath );
    tarArchive.Close();
    tarStream.Close();
    inStream.Close();
}

我已更改为此代码,但是我无法访问“”。

     static void ExtractTar(string addressFile, string destFolder)
   {
      Stream inStream = System.IO.File.OpenRead(addressFile);
      TarArchive tarArchive = TarArchive.CreateInputTarArchive(inStream);
      tarArchive.ExtractContents(destFolder);
      tarArchive.Close();    
      inStream.Close();

   }

0 个答案:

没有答案