Example #1
0
 protected override void _Unir(string fichero, string dirDest)
 {
     if (!File.Exists (fichero))
     {
         return;
     }
     FileInfo fi = new FileInfo (fichero);
     string destino = dirDest + Path.DirectorySeparatorChar + fi.Name.Substring (0, fi.Name.LastIndexOf ('.'));
     long datosTotales = fi.Length;
     FileStream input = File.OpenRead (fichero);
     LZMAInputStream lzmaInput = new LZMAInputStream (input);
     datosTotales = lzmaInput.UncompressedSize;
     Stream fos = UtilidadesFicheros.CreateWriter (destino);
     byte[] buffer = new byte[Consts.BUFFER_LENGTH];
     int leidos = 0;
     long transferidos = 0;
     OnProgress (0, datosTotales);
     while ((leidos = lzmaInput.Read (buffer, 0, buffer.Length)) > 0)
     {
         fos.Write (buffer, 0, leidos);
         transferidos += leidos;
         //OnProgress (input.Position, datosTotales);
         OnProgress (transferidos, datosTotales);
     }
     lzmaInput.Close ();
     fos.Close ();
 }