Я хочу создать базовое приложение net, которое управляет синим файлом ISO (формат UDF), и я хочу извлечь содержимое из этого файла.
Файл ISO имеет структуру:
- BDMV
- ЛЮБОЙ
- certificate.inf
Я пытался скопировать весь контент, например:
using (FileStream isoStream = File.Open("path_to.iso", FileMode.Open))
{
UdfReader cd = new UdfReader(isoStream);
var dirs = cd.Root.GetDirectories();
var files = cd.Root.GetFiles();
foreach (var dir in dirs)
{
CopyDirs(dir, "C:\outputPath");
}
foreach (var file in files)
{
var path = Path.Combine(opts.Output, file.Name);
file.CopyTo(path, true);
}
}
static void CopyDirs(DiscDirectoryInfo ddi, string outpath)
{
string path = Path.Combine(outpath, ddi.FullName);
if (!Directory.Exists(path))
{
Console.WriteLine($"Creating directory {path}");
Directory.CreateDirectory(path);
}
var files = ddi.GetFiles();
if (files.Length > 0)
{
foreach (var file in files)
{
var filePath = Path.Combine(path, file.FullName);
Console.WriteLine($"Creating file {filePath} ( {SizeConverter.SizeToText(file.Length)} )");
file.CopyTo(filePath);
}
}
var dirs = ddi.GetDirectories();
if (dirs.Length > 0)
{
foreach (var dir in dirs)
{
CopyDirs(dir, outpath);
}
}
}
Когда я звоню file.CopyTo(filePath)
, я получаю
System.NotSupportedException: 'Указанный метод не поддерживается.'
Как удовлетворить мои потребности?