Advertisement
Guest User

Useful IO functions

a guest
Jan 16th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.56 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. public class Useful {
  4.    
  5.     public static void listFolderRec(File folder, String prefix) {
  6.         File [] files = folder.listFiles();
  7.         for(File f : files) {
  8.             System.out.println(prefix + f.getName());
  9.                 if(f.isDirectory()) {
  10.                     listFolderRec(f, prefix + "\t");
  11.                 }
  12.             f
  13.         }
  14.     }
  15.    
  16.     public static void emptyDirectory(File folder){
  17.         File [] files = folder.listFiles();
  18.         for(File f : files) {
  19.             if(f.isFile()) {
  20.                 System.out.println("Deleting file: " + f.getName());
  21.                 f.delete();
  22.             }
  23.             else if(f.isDirectory()) {
  24.                 emptyDirectory(f);
  25.                 System.out.println("Deleting folder: " + f.getName());
  26.                 f.delete();
  27.             }
  28.         }
  29.     }
  30.    
  31.     public static void deleteDirectory(File folder) {
  32.         File [] files = folder.listFiles();
  33.         for(File f : files) {
  34.             if(f.isFile()) {
  35.                 System.out.println("Deleting file: " + f.getName());
  36.                 f.delete();
  37.             }
  38.             else if(f.isDirectory()) {
  39.                 System.out.println("Entering folder: " + folder.getName());
  40.                 deleteDirectory(f);
  41.             }
  42.         }
  43.         System.out.println("Deleting folder: " + folder.getName());
  44.         folder.delete();
  45.     }
  46.    
  47.     public static void readFromSourceAppendToDestination(File source, File destination) throws IOException {
  48.         RandomAccessFile reader = null;
  49.         RandomAccessFile writer = null;
  50.         try {
  51.             reader = new RandomAccessFile(source, "r");
  52.             writer = new RandomAccessFile(destination, "rw");
  53.  
  54.             writer.seek(writer.length());
  55.             int n;
  56.             while ((n = reader.read()) != -1) {
  57.                 writer.write(n);
  58.             }
  59.         }
  60.         catch (Exception e) {}
  61.         finally {
  62.             if (reader != null) {
  63.                 reader.close();
  64.             }
  65.             if (writer != null) {
  66.                 writer.close();
  67.             }
  68.         }
  69.     }
  70.    
  71.     public static void recursivelyCopyFilesBiggerThan(String source, String destination, long size) throws IOException {
  72.         File from = new File(source);
  73.         File to = new File(destination);
  74.        
  75.         if(!from.exists()) {
  76.             System.out.println("Input file does not exist");
  77.             return;
  78.         }
  79.         if(!from.isDirectory()) {
  80.             System.out.println("Input file is not a directory");
  81.             return;
  82.         }
  83.         if(!to.exists()) {
  84.             to.mkdirs();
  85.         }
  86.         if(!to.isDirectory()) {
  87.             System.out.println("Output file is not a directory");
  88.             return;
  89.         }
  90.        
  91.         File [] files = from.listFiles();
  92.         for(File file : files) {
  93.             if(file.isDirectory()) {
  94.                 recursivelyCopyFilesBiggerThan(file.getAbsolutePath(), destination, size);
  95.             }
  96.             else {
  97.                 if(file.length() <= size) {
  98.                     continue;
  99.                 }
  100.                 File destinationFile = new File(destination, file.getName());
  101.                 if(!destinationFile.exists()) {
  102.                     destinationFile.createNewFile();
  103.                 }
  104.                
  105.                 RandomAccessFile reader = null;
  106.                 RandomAccessFile writer = null;
  107.                
  108.                 try {
  109.                     reader = new RandomAccessFile(file, "r");
  110.                     writer = new RandomAccessFile(destinationFile, "rw");
  111.  
  112.                     int n;
  113.                     while ((n = reader.read()) != -1) {
  114.                         writer.write(n);
  115.                     }
  116.                 }
  117.                 catch (Exception e) {}
  118.                 finally {
  119.                     if (reader != null) {
  120.                         reader.close();
  121.                     }
  122.                     if (writer != null) {
  123.                         writer.close();
  124.                     }
  125.                 }
  126.             }
  127.         }
  128.     }
  129.    
  130.     public static void copyFileToFolder(String sourceFilePath, String destinationFolderPath) throws IOException {
  131.         File from = new File(sourceFilePath);
  132.         File to = new File(destinationFolderPath, sourceFilePath);
  133.        
  134.         if(!from.exists()) {
  135.             System.out.println("Input file does not exist");
  136.             return;
  137.         }
  138.         if(!from.isFile()) {
  139.             System.out.println("Input file is not a file");
  140.             return;
  141.         }
  142.        
  143.         RandomAccessFile reader = null;
  144.         RandomAccessFile writer = null;
  145.        
  146.         try {
  147.             reader = new RandomAccessFile(from, "r");
  148.             writer = new RandomAccessFile(to, "rw");
  149.  
  150.             int n;
  151.             while ((n = reader.read()) != -1) {
  152.                 writer.write(n);
  153.             }
  154.         }
  155.         catch (Exception e) {}
  156.         finally {
  157.             if (reader != null) {
  158.                 reader.close();
  159.             }
  160.             if (writer != null) {
  161.                 writer.close();
  162.             }
  163.         }
  164.     }
  165.    
  166.     public static void readAndWriteBackwards(File from, File to) throws IOException {
  167.         RandomAccessFile reader = null;
  168.         RandomAccessFile writer = null;
  169.        
  170.         try {
  171.             reader = new RandomAccessFile(from, "r");
  172.             writer = new RandomAccessFile(to, "rw");
  173.             int i = 1;
  174.             while(i <= reader.length()) {
  175.                 int position = (int)reader.length() - i;
  176.                 reader.seek(position);
  177.                 writer.write(reader.read());
  178.                 i++;
  179.             }
  180.         }
  181.         catch (Exception e) {}
  182.         finally {
  183.             if (reader != null) {
  184.                 reader.close();
  185.             }
  186.             if (writer != null) {
  187.                 writer.close();
  188.             }
  189.         }
  190.     }
  191.    
  192.     public static void main(String[] args) throws IOException {
  193.         readAndWriteBackwards(new File("from.txt"), new File("to.txt"));
  194.     }
  195.  
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement