home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Frame;
- import java.awt.Label;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
-
- class Join extends Thread {
- private String path = "";
- private Label info;
- private Frame parent;
-
- public Join(String var1, Label var2, Frame var3) {
- this.path = var1;
- this.info = var2;
- this.parent = var3;
- }
-
- private void setMessage(String var1) {
- this.info.setText(var1);
- }
-
- public void run() {
- try {
- this.joinfile(this.path);
- } catch (Exception var2) {
- new Msg(this.parent, "ERROR", ((Throwable)var2).toString());
- }
- }
-
- void joinfile(String var1) {
- String var2 = "";
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- long var8 = 0L;
- long var10 = 0L;
- long var12 = 0L;
- Object var14 = null;
- FileInputStream var15 = null;
- Object var16 = null;
- Object var17 = null;
- Runtime var18 = Runtime.getRuntime();
- var6 = var1.lastIndexOf(".");
- if (var6 == -1) {
- new Msg(this.parent, "ERROR", "Not a valid JavaSplit file.");
- } else {
- var2 = var1.substring(0, var6);
-
- try {
- Integer.parseInt(var1.substring(var6 + 1, var1.length()));
- } catch (Exception var23) {
- new Msg(this.parent, "ERROR", "Not a valid JavaSplit file.");
- return;
- }
-
- File var35 = new File(var1);
- if (!var35.exists()) {
- new Msg(this.parent, "ERROR", "No such file:\n" + var1);
- } else if (!var35.canRead()) {
- new Msg(this.parent, "ERROR", "Cannot read file:\n" + var1);
- } else {
- var35 = new File(var2);
- if (var35.exists()) {
- new Msg(this.parent, "Warning", "The target file already exists.\nPlease move the file " + var2 + "\nTo another directory.");
- } else {
- try {
- var33 = new FileOutputStream(var2);
- } catch (Exception var22) {
- new Msg(this.parent, "ERROR", ((Throwable)var22).getMessage());
- return;
- }
-
- while(true) {
- try {
- var34 = new File(var2 + "." + var3);
- if (var15 instanceof FileInputStream) {
- try {
- var15.close();
- } catch (Exception var21) {
- }
- }
-
- var15 = new FileInputStream(var34);
- ++var3;
- } catch (Exception var25) {
- this.setMessage("Done... joined " + var3 + " files");
- new Msg(this.parent, "Done", "Done... joined " + var3 + " files.\nTotal " + var12 + " bytes");
- break;
- }
-
- var10 = var34.length();
-
- Object var30;
- try {
- for(long var31 = 0L; var31 < var10; var30 = null) {
- var5 = (int)((double)var18.freeMemory() * 0.9);
- if (var5 <= 256) {
- new Msg(this.parent, "Warning", "There isn't enough memory to continue.\nTry quitting other running applications, if any.");
- this.setMessage("Out of Memory");
- return;
- }
-
- byte[] var7;
- if ((long)((int)(var31 + (long)var5)) > var10) {
- var7 = new byte[(int)(var10 - var31)];
- } else {
- var7 = new byte[var5];
- }
-
- var4 = var15.read(var7);
- var12 += (long)var4;
- var31 += (long)var4;
- var33.write(var7);
- this.setMessage("Reading file " + var3 + ", " + Math.round((double)100.0F * ((double)var31 / (double)var10)) + " %");
- }
- } catch (Exception var24) {
- new Msg(this.parent, "ERROR", ((Throwable)var24).getMessage());
- break;
- }
- }
-
- if (var33 instanceof FileOutputStream) {
- try {
- var33.close();
- } catch (Exception var20) {
- }
- }
- }
- }
- }
- }
- }
-