示例#1
0
 public static CompressConfig CalInFileSize(CompressConfig config)
 {
     if (config.inFileSize == 0 &&
         File.Exists(config.inFile))
     {
         FileStream input = new FileStream(config.inFile, FileMode.Open);
         config.inFileSize = input.Length;
         input.Close();
         input.Dispose();
     }
     return(config);
 }
    public static CompressConfig CalInFileSize(CompressConfig config)
    {
        if (config.inFileSize == 0 &&
            File.Exists(config.inFile))
        {
            FileStream input      = new FileStream(config.inFile, FileMode.Open);
            byte[]     properties = new byte[5];
            input.Read(properties, 0, 5);

            byte[] fileLengthBytes = new byte[8];
            input.Read(fileLengthBytes, 0, 8);

            config.inFileSize = BitConverter.ToInt64(fileLengthBytes, 0);
            input.Close();
            input.Dispose();
        }
        return(config);
    }
    public void AddCompressConfig(CompressConfig config)
    {
        config     = CalInFileSize(config);
        totalSize += config.inFileSize;

        if (processorCount > workingTask.Count)
        {
            T com = new T();
            com.SetConfig(config, () =>
            {
                Refresh();
            });
            if (working)
            {
                com.Start();
            }
            workingTask.Add(com);
        }
        else
        {
            configs.Add(config);
        }
    }
 public override void SetConfig(CompressConfig config, Action callback = null)
 {
     base.SetConfig(config, callback);
     this.config = CalInFileSize(this.config);
 }
 public override CompressConfig CalInFileSize(CompressConfig config)
 {
     return(DecompressNotMono.CalInFileSize(config));
 }
示例#6
0
 public virtual void SetConfig(CompressConfig config, Action callback = null)
 {
     this.config         = config;
     this.finishCallback = callback;
 }
 public abstract CompressConfig CalInFileSize(CompressConfig config);