5

dotnetzip ライブラリを使用して zip を作成しています。

しかし、ファイルがzipに存在するかどうかを確認する方法がわかりません。ファイルが存在する場合は、ファイルをパスで更新します。

    public void makezip(string flname)
   {
      string  fln =flname;
        string curFile = @"d:\crs.zip";
        if (File.Exists(curFile))
        {
                ZipFile zipfl = ZipFile.Read(@"D:\crs.zip");
            var result = zipfl.Any(entry => entry.FileName.EndsWith(@fln));
            if (result == true) {
                zipfl.UpdateFile(@fln);
                }else{
                  zipfl.AddFile(@fln);
                }
            zipfl.Save(@"d:\crs.zip");
        }
        else
        {
            try
            {
                ZipFile zipfl = new ZipFile();

                var result = zipfl.Any(entry => entry.FileName.EndsWith(@fln));
                if (result == true)
                {
                  zipfl.AddFile(@fln);
                }
                zipfl.Save(@"d:\crs.zip");
            }catch {
                MessageBox.Show("Invalid Zip File");

            }}}
4

2 に答える 2

11

ファイルがzipファイルに存在するかどうかを確認するにはどうすればよいですか?

LINQAnyを使用して、zipファイルを入力したと仮定して、次のものが含まれinput.zipているかどうかを確認します。input.zipinput.txt

 var zipFile = ZipFile.Read(@"C:\input.zip");
 var result = zipFile.Any(entry => entry.FileName.EndsWith("input.txt"));
于 2012-09-23T16:32:23.533 に答える