public void Open()
{
if(File.Exists(Source))
using (ZipInputStream s = new ZipInputStream(File.OpenRead(Source)))
{
ZipEntry theEntry;
if (Directory.Exists(Root)) Directory.Delete(Root, true);
while ((theEntry = s.GetNextEntry()) != null)
{
string directoryName = Root;
string ld = Path.GetDirectoryName(theEntry.Name);
if(ld.Length > 0) directoryName += string.Concat("\\", ld);
string fileName = Path.GetFileName(theEntry.Name);
bool ex = Directory.Exists(directoryName);
if (directoryName.Length > 0 && false == ex)
Directory.CreateDirectory(directoryName);
if (fileName != String.Empty)
{
string p = string.Concat(directoryName, "\\", fileName);
using (FileStream streamWriter = File.Create(p))
{
//List.Add(new XapEntry(p, this));
int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0) streamWriter.Write(data, 0, size);
else break;
}
}
}
}
RefreshList();
GetMetadata();
}
}
public void RefreshList()