home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Java / JavaSplit / FILEDATA.DAT / javasp~1 / bin / Join.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-07-24  |  3.2 KB  |  134 lines

  1. import java.awt.Frame;
  2. import java.awt.Label;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6.  
  7. class Join extends Thread {
  8.    private String path = "";
  9.    private Label info;
  10.    private Frame parent;
  11.  
  12.    public Join(String var1, Label var2, Frame var3) {
  13.       this.path = var1;
  14.       this.info = var2;
  15.       this.parent = var3;
  16.    }
  17.  
  18.    private void setMessage(String var1) {
  19.       this.info.setText(var1);
  20.    }
  21.  
  22.    public void run() {
  23.       try {
  24.          this.joinfile(this.path);
  25.       } catch (Exception var2) {
  26.          new Msg(this.parent, "ERROR", ((Throwable)var2).toString());
  27.       }
  28.    }
  29.  
  30.    void joinfile(String var1) {
  31.       String var2 = "";
  32.       int var3 = 0;
  33.       int var4 = 0;
  34.       int var5 = 0;
  35.       int var6 = 0;
  36.       long var8 = 0L;
  37.       long var10 = 0L;
  38.       long var12 = 0L;
  39.       Object var14 = null;
  40.       FileInputStream var15 = null;
  41.       Object var16 = null;
  42.       Object var17 = null;
  43.       Runtime var18 = Runtime.getRuntime();
  44.       var6 = var1.lastIndexOf(".");
  45.       if (var6 == -1) {
  46.          new Msg(this.parent, "ERROR", "Not a valid JavaSplit file.");
  47.       } else {
  48.          var2 = var1.substring(0, var6);
  49.  
  50.          try {
  51.             Integer.parseInt(var1.substring(var6 + 1, var1.length()));
  52.          } catch (Exception var23) {
  53.             new Msg(this.parent, "ERROR", "Not a valid JavaSplit file.");
  54.             return;
  55.          }
  56.  
  57.          File var35 = new File(var1);
  58.          if (!var35.exists()) {
  59.             new Msg(this.parent, "ERROR", "No such file:\n" + var1);
  60.          } else if (!var35.canRead()) {
  61.             new Msg(this.parent, "ERROR", "Cannot read file:\n" + var1);
  62.          } else {
  63.             var35 = new File(var2);
  64.             if (var35.exists()) {
  65.                new Msg(this.parent, "Warning", "The target file already exists.\nPlease move the file " + var2 + "\nTo another directory.");
  66.             } else {
  67.                try {
  68.                   var33 = new FileOutputStream(var2);
  69.                } catch (Exception var22) {
  70.                   new Msg(this.parent, "ERROR", ((Throwable)var22).getMessage());
  71.                   return;
  72.                }
  73.  
  74.                while(true) {
  75.                   try {
  76.                      var34 = new File(var2 + "." + var3);
  77.                      if (var15 instanceof FileInputStream) {
  78.                         try {
  79.                            var15.close();
  80.                         } catch (Exception var21) {
  81.                         }
  82.                      }
  83.  
  84.                      var15 = new FileInputStream(var34);
  85.                      ++var3;
  86.                   } catch (Exception var25) {
  87.                      this.setMessage("Done... joined " + var3 + " files");
  88.                      new Msg(this.parent, "Done", "Done... joined " + var3 + " files.\nTotal " + var12 + " bytes");
  89.                      break;
  90.                   }
  91.  
  92.                   var10 = var34.length();
  93.  
  94.                   Object var30;
  95.                   try {
  96.                      for(long var31 = 0L; var31 < var10; var30 = null) {
  97.                         var5 = (int)((double)var18.freeMemory() * 0.9);
  98.                         if (var5 <= 256) {
  99.                            new Msg(this.parent, "Warning", "There isn't enough memory to continue.\nTry quitting other running applications, if any.");
  100.                            this.setMessage("Out of Memory");
  101.                            return;
  102.                         }
  103.  
  104.                         byte[] var7;
  105.                         if ((long)((int)(var31 + (long)var5)) > var10) {
  106.                            var7 = new byte[(int)(var10 - var31)];
  107.                         } else {
  108.                            var7 = new byte[var5];
  109.                         }
  110.  
  111.                         var4 = var15.read(var7);
  112.                         var12 += (long)var4;
  113.                         var31 += (long)var4;
  114.                         var33.write(var7);
  115.                         this.setMessage("Reading file " + var3 + ", " + Math.round((double)100.0F * ((double)var31 / (double)var10)) + " %");
  116.                      }
  117.                   } catch (Exception var24) {
  118.                      new Msg(this.parent, "ERROR", ((Throwable)var24).getMessage());
  119.                      break;
  120.                   }
  121.                }
  122.  
  123.                if (var33 instanceof FileOutputStream) {
  124.                   try {
  125.                      var33.close();
  126.                   } catch (Exception var20) {
  127.                   }
  128.                }
  129.             }
  130.          }
  131.       }
  132.    }
  133. }
  134.