Advertisement
ItsNoah

TurtleFilesManager

Jun 20th, 2021
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.26 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6.  
  7. public class TurtleFilesManager {
  8.  
  9.     public String[] neededPrograms = { "install.lua", "setLabel.lua" };
  10.     public String mainPath = "C:\\Users\\noah1\\Twitch\\Minecraft\\Instances\\CC Simple\\saves\\Testing\\computercraft\\computer";
  11.  
  12.     public TurtleFilesManager() {
  13.         // listDirs(mainPath);
  14.         updatePrograms(mainPath);
  15.         // listDirs(mainPath);
  16.     }
  17.  
  18.     public void updatePrograms(String path) {
  19.         File sourceFolder = new File(path + "\\src");
  20.         File[] ids = new File(path).listFiles();
  21.         int copies = 0, failedCopies = 0, deletions = 0, failedDeletions = 0;
  22.         if (ids != null) {
  23.             for (File id : ids) {
  24.                 if (!id.getName().equals("src")) {
  25.                     File[] programs = id.listFiles();
  26.                     String existingPrograms = "";
  27.                     if (programs != null)
  28.                         for (File ep : programs)
  29.                             existingPrograms += ep.getName();
  30.  
  31.                     for (String neededProgram : neededPrograms) {
  32.                         System.out.println("Updating " + id.getName() + "\\" + neededProgram + ":");
  33.                         File newProgram = new File(id.getAbsolutePath() + "\\" + neededProgram);
  34.  
  35.                         if (existingPrograms.contains(neededProgram)) {
  36.                             System.out.print(" > Found old -> Deleting... ");
  37.                             if (newProgram.delete()) {
  38.                                 deletions++;
  39.                                 System.out.println("Success!");
  40.                             } else {
  41.                                 failedDeletions++;
  42.                                 System.out.println("Failed!");
  43.                             }
  44.                         } else {
  45.                             System.out.println(" > No old found");
  46.                         }
  47.  
  48.                         System.out.print(" > Copying... ");
  49.                         File sourceProgram = new File(sourceFolder.getAbsolutePath() + "\\" + neededProgram);
  50.                         String reason = copyFile(sourceProgram, newProgram);
  51.                         if (newProgram.exists()) {
  52.                             copies++;
  53.                             System.out.println("Success!");
  54.                         } else {
  55.                             failedCopies++;
  56.                             System.out.println("Failed!");
  57.                             System.out.println(" > Reason: " + reason);
  58.                         }
  59.                         System.out.println();
  60.                     }
  61.                 }
  62.             }
  63.         }
  64.         System.out.println(
  65.                 ">>> Copied " + copies + " file" + (copies == 1 ? "" : "s") + " (" + failedCopies + " failed) <<<");
  66.         System.out.println(">>> Deleted " + deletions + " file" + (deletions == 1 ? "" : "s") + " (" + failedDeletions
  67.                 + " failed) <<<\n");
  68.     }
  69.  
  70.     public String copyFile(File source, File dest) {
  71.         if (!source.exists())
  72.             return "source file doesn't exist";
  73.  
  74.         try {
  75.             InputStream is = new FileInputStream(source);
  76.             OutputStream os = new FileOutputStream(dest);
  77.             byte[] buffer = new byte[1024];
  78.             int length;
  79.             while ((length = is.read(buffer)) > 0) {
  80.                 os.write(buffer, 0, length);
  81.             }
  82.             is.close();
  83.             os.close();
  84.             return "successful";
  85.         } catch (Exception e) {
  86.             e.printStackTrace();
  87.             return "failed";
  88.         }
  89.     }
  90.  
  91.     public void listDirs(String path) {
  92.         File allFilesDir = new File(path);
  93.         File[] folders = allFilesDir.listFiles();
  94.  
  95.         System.out.println("=== All Computer Files ===");
  96.         for (File file : folders) {
  97.             System.out.println("ID: " + file.getName());
  98.             File[] programs = file.listFiles();
  99.             if (programs != null)
  100.                 for (File p : programs) {
  101.                     if (p.getName().contains(".lua")) {
  102.                         System.out.println(" -" + p.getName());
  103.                     }
  104.                 }
  105.             System.out.println();
  106.         }
  107.     }
  108. }
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement