package ANTARCTICA.downloadTest;

import java.io.*;

public class Piece implements Serializable {

   private byte piece[];  // para almacenar la pieza
   private String name;   // nombre de la pieza
     
   public static void main(String argv[]) throws Exception {
      System.out.print("Fichero a cargar: ");
      BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
      String file=teclado.readLine();
      System.out.println("Loading...");
      Piece p=new Piece(file);
      System.out.println("Done.");
   }
 
   public Piece(String filename) throws IOException {
       loadFileArray(filename); // introduce los datos y longitud del fichero
   }

   public int getSize() {
      return piece.length;
   }

   public void setName(String n) {
      name=n;
   }

   public String getName() {
      return name;
   }


   // Vuelca el contenido de la pieza a un fichero

   public void download(String filename) throws IOException {
        FileOutputStream out=new FileOutputStream(filename);
    	out.write(piece); // vuelca todo el contenido del array
        out.close();
   }



   // Carga el contenido de un fichero en la pieza

   private void loadFileArray(String filename) throws IOException {
      File dir=new File(filename);
      int size=(int)dir.length();
      System.out.println(filename+" contains "+size+" bytes");
      byte[] piece=new byte[size];
      FileInputStream in=new FileInputStream(filename);
      in.read(piece);  // lee tantos bytes como caben en el array
      in.close();
      System.out.println(size+" bytes leidos");
      name=filename;
      this.piece=piece;
   }

}
