コード例 #1
0
ファイル: ParteSF.cs プロジェクト: albfernandez/dalle
 // TODO: Comprobar que no se excederá el limite de ficheros..
 protected override void _Partir(string fichero,string sal1, string dir, long kb)
 {
     string bas = dir + Path.DirectorySeparatorChar + "SF{0:0000}.SF";
     long tamano = kb*1024;
     CabeceraSF cab = new CabeceraSF();
     cab.Nombre = fichero;
     tamano -= cab.Tamano;
     int contador = 1;
     long total_a_leer = new FileInfo(fichero).Length;
     if ((total_a_leer / tamano) > 255){
         throw new Dalle.Formatos.FileFormatException();
     }
     long transferidos  = 0;
     OnProgress (0, 1);
     do{
         byte[] b = UtilidadesFicheros.LeerSeek(fichero, transferidos, tamano);
         cab.Numero = contador;
         string nombreFichero = string.Format (bas, contador);
         transferidos += b.Length;
         UtilidadesFicheros.Append (nombreFichero, cab.ToByteArray());
         UtilidadesFicheros.Append (nombreFichero, b);
         contador++;
         OnProgress (transferidos, total_a_leer);
     }while (transferidos < total_a_leer);
 }