/// <summary> /// 注意:所有目录 必须以‘/’结尾 /// </summary> /// <param name="zipfile">zip文件</param> /// <param name="tempDir">zip 释放或写入的临时目录</param> public ZipFileProvider(string zipfile, string tempDir) : this(ZipFileSystemConfiguration.CreateDefaultConfig(zipfile, tempDir)) { if (!Directory.Exists(tempDir)) { Directory.CreateDirectory(tempDir); } }
static void Main(string[] args) { string ZipFilePath = Path.Combine("", "TestArchive.zip"); if (File.Exists(ZipFilePath)) { File.Delete(ZipFilePath); } var zip = new ZipFile(ZipFilePath); zip.AddDirectory("LocalVFS", "LocalVFS/"); zip.Save(); zip.Dispose(); // ZipFileSystemConfiguration zc = ZipFileSystemConfiguration.CreateDefaultConfig(ZipFilePath, "_tmp_"); ZipFileProvider lp = new ZipFileProvider(zc); bool exfd = lp.ExistFolder("LocalVFS/", true); if (exfd) { lp.DeleteFolder("LocalVFS/"); } byte[] dataTest = Encoding.UTF8.GetBytes("this is a test context!!!"); File.WriteAllBytes("test.cs", dataTest); lp.CreateFolder("LocalVFS/"); string filepath = lp.CreateFilePath("LocalVFS/", "test.txt"); //lp.MoveFile("test.cs", filepath); byte[] dataTest2 = Encoding.UTF8.GetBytes("this is a test write data!!!"); using (MemoryStream ms = new MemoryStream(dataTest2)) { lp.WriteFile("LocalVFS/test.txt", ms, true, dataTest2.Length, ContentUtil.UnknownContentType); } //lp.DeleteFile("LocalVFS/test.txt"); lp.CopyFolder("LocalVFS/", "localvfs_test/"); lp.Dispose(); int jj = 0; }