Advertisement
evitanasevska

Java I/O (June exam session)

Jun 27th, 2019
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.13 KB | None | 0 0
  1. /* Потребно е да ја имплементирате функцијата manage(String in, String out)
  2. која врши организација на текстуалните датотеки (*.dat) од именикот in
  3. според нивните привилегии на следниот начин:
  4.  
  5. доколку датотеката има привилегии за запишување тогаш таа треба да се
  6. премести во out именикот. При преместувањето, во конзола испечатете pomestuvam
  7. и апсолутното име на датотеката која се копира.
  8.  
  9. доколку датотеката нема привилегии за запишување тогаш нејзината содржина
  10. додадете ја на крај од датотеката writable-content.txt во resources именикот.
  11. При додавањето, во конзола испечатете dopisuvam и апсолутното име на датотеката.
  12. Сметајте дека овие датотеки може да бидат многу поголеми од физичката меморија
  13. на компјутерот.
  14.  
  15. доколку датотеката е скриена (hidden), тогаш избришете ја од in именикот, и во
  16. конзола испечатете zbunet sum и апсолутното име на датотеката.
  17.  
  18. Доколку in именикот не постои, испечатете на екран ne postoi.
  19.  
  20. Доколку out именикот веќе постои, избришете ја неговата содржина. Претпоставете
  21. дека во out именикот има само датотеки.*/
  22.  
  23. package Dexter;
  24.  
  25. import java.util.*;
  26. import java.io.*;
  27.  
  28. public class Vezbanka {
  29.    
  30.     public static void copyContents(File from, File to) throws IOException {
  31.         BufferedReader in = null;
  32.         BufferedWriter out = null;
  33.        
  34.         try {
  35.             in = new BufferedReader(new FileReader(from));
  36.             out = new BufferedWriter(new FileWriter(to));
  37.            
  38.             String line;
  39.            
  40.             while((line = in.readLine()) != null) {
  41.                 out.write(line + "\r\n");
  42.             }
  43.         }
  44.         catch(Exception e) {}
  45.         finally {
  46.             if(in!=null) in.close();
  47.             if(out!=null) out.close();
  48.         }
  49.     }
  50.    
  51.     public static void appendContents(File from, File to) throws IOException {
  52.         BufferedReader in = null;
  53.         BufferedWriter out = null;
  54.        
  55.         try {
  56.             in = new BufferedReader(new FileReader(from));
  57.             out = new BufferedWriter(new FileWriter(to,true));
  58.            
  59.             String line;
  60.            
  61.             while((line = in.readLine()) != null) {
  62.                 out.write(line + "\r\n");
  63.             }
  64.         }
  65.         catch(Exception e) {}
  66.         finally {
  67.             if(in!=null) in.close();
  68.             if(out!=null) out.close();
  69.         }
  70.     }
  71.    
  72.     public static void manage(String in, String out) throws IOException {
  73.        
  74.         File inFile = new File(in);
  75.         File outFile = new File(out);
  76.        
  77.         if(!inFile.exists() && !inFile.isDirectory()) System.out.println("ne postoi takov direktorium");
  78.        
  79.         if(!outFile.isDirectory()) System.out.println("ne postoi takov direktorium");
  80.        
  81.         if(outFile.exists()) {
  82.             File [] outFiles = outFile.listFiles();
  83.             for(File f : outFiles) {
  84.                 f.delete();
  85.             }
  86.         }
  87.        
  88.         File [] inFiles = inFile.listFiles();
  89.         for (File f : inFiles) {
  90.             if(f.isFile() && f.getName().endsWith(".txt")) {
  91.                 if(f.canWrite()) {
  92.                     File nov1 = new File(out, f.getName());
  93.                     if(!nov1.exists()) nov1.createNewFile();
  94.                     copyContents(f, nov1);
  95.                     System.out.println("pomestuvam " + f.getName());
  96.                     f.delete();
  97.                 } else if(!f.canWrite()) {
  98.                     File nov2 = new File("1resources","writable-content.txt");
  99.                     appendContents(f, nov2);
  100.                     System.out.println("dopisuvam " + f.getName());
  101.                 } else if(f.isHidden()) {
  102.                     f.delete();
  103.                     System.out.println("zbunet sum " + f.getName());
  104.                 }
  105.             }
  106.         }
  107.        
  108.     }
  109.    
  110.     public static void main(String[]args) throws IOException {
  111.        
  112.         BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
  113.        
  114.         String in = input.readLine();
  115.         String out = input.readLine();
  116.        
  117.         manage(in, out);
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement