我用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();
}