diff --git a/src/com/jesuspinar/main/Main.java b/src/com/jesuspinar/main/Main.java index 8d52ea3..1869321 100644 --- a/src/com/jesuspinar/main/Main.java +++ b/src/com/jesuspinar/main/Main.java @@ -4,7 +4,12 @@ import java.io.*; public class Main{ public static void main(String[] arg) throws Exception { - copyFile("/Users/jesuspl/Documents/04DamPrac1/PRG/tema12/ficheros/nuevo.txt"); + boolean isCopied = copyFile("/Users/jesuspl/Documents/04DamPrac1/PRG/tema12/ficheros/archivo01.txt"); + if (isCopied){ + System.out.println("Done !"); + }else { + System.out.println("File could be copied !"); + } } private static boolean copyFile(String path){ File inputFile = new File(path); @@ -12,24 +17,28 @@ public class Main{ try (FileInputStream fis = new FileInputStream(inputFile); FileOutputStream fos = new FileOutputStream(path+"cp"+ getExtension(inputFile)) - // fos.write(fis.readAllBytes()); ){ StringBuilder sb = new StringBuilder(); - long fileSize = inputFile.length(); - double onePercent = (double) 100/fileSize; - long count = 0; - int character ; + byte[] content = fis.readAllBytes(); + double pctLoad = 0.01; // 1 = 100% + double loadFraction = (pctLoad * content.length); + + int loadIndex = 1; int i = 0; - while((character = fis.read()) != -1){ - count += character; - if (count >= onePercent) { - count = 0; - sb.append("#"); - System.out.print(++i +"% "+ sb ); - System.out.print("\r"); - Thread.sleep(100); + + for (int j = 0 ; j <= content.length-1; j++){ + if (loadIndex >= (int) loadFraction){ + loadIndex = 0; + if (i < 100){ + sb.append("#"); + System.out.print((++i) +"% "+ sb ); + System.out.print("\r"); + Thread.sleep(50); + } } - fos.write(character); + //Action of copy + loadIndex++; + fos.write(content[j]); } return true; } catch (FileNotFoundException e) {