2

一部のファイルを圧縮して別のパスに移動するために、chilkat ライブラリを使用しています。ほとんどの場合、これで問題なく動作しますが、exe が存在するパスに tmp ファイルが作成される場合があります。3ヶ月経ってふと確認したら、このファイルが2GBのハードディスクを消費していました。以下は私のコードです:

 public static bool MoveShopTRRFiles() {
            //string fullfilepath;
            Zip zip = new Zip();
            bool unlocked = zip.UnlockComponent("abc");
            if (!unlocked) {
                //MessageBox.Show(zip.LastErrorText);
                //return;
                return false;
            }
            if (Directory.Exists(_TRRPath)) {
            foreach (string filename in Directory.GetFiles(_TRRPath, "*.trr")) {
                if (!File.Exists(_ShopTRRPath + "\\" + GetShopName(filename) + ".zip")) {
                    zip.NewZip(_ShopTRRPath + "\\" + GetShopName(filename) + ".zip");
                } else {
                    zip.OpenZip(_ShopTRRPath + "\\" + GetShopName(filename) + ".zip");
                }
                try {
                    if(zip.GetEntryByName (filename.Substring(filename.LastIndexOf('\\') + 4))==null ){
                        zip.AppendOneFileOrDir(filename);
                    }

                    zip.WriteZipAndClose();                       
                    File.Delete(filename);
                } catch {

                }
            }
            return true;
        } else
            return false;
    }
4

1 に答える 1

0

とりあえず、一時ファイルがあればアプリケーションフォルダから削除しています。これで問題は解決しました。

于 2011-04-28T13:19:30.510 に答える