Advertisement
AngelovskiK

ОС Задачи - Java I/O (June exam session)

Sep 21st, 2019
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.04 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.io.*;
  4.  
  5. public class ExamIO {
  6.     public static void manage(String in, String out) throws IOException {
  7.         File folderIn = new File(in);
  8.         if(!(folderIn.exists() && folderIn.isDirectory())){
  9.             System.out.println("ne postoi");
  10.             return;
  11.         }
  12.         File folderOut = new File(out);
  13.         if(folderOut.exists()) {
  14.             cleanFolder(folderOut, true);
  15.         }else {
  16.             folderOut.mkdirs();
  17.         }
  18.         File writable = new File("resources/writable.txt");
  19.         if(!writable.exists()) {
  20.             writable.getParentFile().mkdirs();
  21.             writable.createNewFile();
  22.         }
  23.         BufferedWriter bw = new BufferedWriter(new FileWriter(writable));
  24.         FilenameFilter filter = (dir, name) -> name.endsWith(".dat");
  25.         for (File file:
  26.              folderIn.listFiles(filter)) {
  27.             if(file.isHidden()) {
  28.                 System.out.println("zbunet sum " + file.getAbsolutePath());
  29.             }else if(file.canWrite()) {
  30.                 System.out.println("pomestuvam  " + file.getAbsolutePath());
  31.                 file.renameTo(new File(out + "/" + file.getName()));
  32.             } else {
  33.                 System.out.println("dopisuvam " + file.getAbsolutePath());
  34.                 try (BufferedReader b = new BufferedReader(new FileReader(file))) {
  35.                     String readLine = "";
  36.                     while ((readLine = b.readLine()) != null) {
  37.                         bw.write(readLine);
  38.                     }
  39.                     bw.flush();
  40.                 }
  41.             }
  42.         }
  43.     }
  44.  
  45.     private static void cleanFolder(File folder, boolean isRoot) {
  46.         for (File f
  47.              : folder.listFiles()) {
  48.             if(f.isDirectory())
  49.                 cleanFolder(f, false);
  50.             else
  51.                 f.delete();
  52.         }
  53.         if(!isRoot) {
  54.             folder.delete();
  55.         }
  56.     }
  57.  
  58.     public static void main(String[] args) throws IOException {
  59.         manage("test2", "test1");
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement