evitanasevska

Untitled

Sep 19th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 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. import java.util.*;
  24. import java.io.*;
  25.  
  26. public class JavaIO {
  27.  
  28. public static void writeData(File from, File to) throws IOException {
  29. FileInputStream in = null;
  30. FileOutputStream out = null;
  31.  
  32. try {
  33. in = new FileInputStream(from);
  34. out = new FileOutputStream(to);
  35.  
  36. int b;
  37. while((b=in.read())!=-1) {
  38. out.write(b);
  39. }
  40. }
  41. catch(Exception e) {}
  42. finally {
  43. if(in!=null) in.close();
  44. if(out!=null) out.close();
  45. }
  46. }
  47.  
  48. public static void appendData(File from, File to) throws IOException {
  49. FileInputStream in = null;
  50. FileOutputStream out = null;
  51.  
  52. try {
  53. in = new FileInputStream(from);
  54. out = new FileOutputStream(to,true);
  55.  
  56. int b;
  57. while((b=in.read())!=-1) {
  58. out.write(b);
  59. }
  60. }
  61. catch(Exception e) {}
  62. finally {
  63. if(in!=null) in.close();
  64. if(out!=null) out.close();
  65. }
  66. }
  67.  
  68. public static void manage(String in, String out) throws IOException {
  69.  
  70. File inFile = new File(in);
  71. File outFile = new File(out);
  72.  
  73. if(!inFile.exists() || !inFile.isDirectory()) System.out.println("ne postoi");
  74. if(outFile.exists()&&outFile.isDirectory()) {
  75. File [] outFiles = outFile.listFiles();
  76. for(File f : outFiles) {
  77. f.delete();
  78. }
  79. }
  80.  
  81. File [] inFiles = inFile.listFiles();
  82. for(File f : inFiles) {
  83. if(f.getName().endsWith(".txt")) {
  84. if(f.canWrite()) {
  85. File nov = new File(outFile, f.getName());
  86. if(!nov.exists()) nov.createNewFile();
  87. writeData(f, nov);
  88. System.out.println("pomestuvam " + f.getName());
  89. f.delete();
  90. } else if (!f.canWrite()) {
  91. File nov1 = new File("resources", "writable-content.txt");
  92. appendData(f, nov1);
  93. System.out.println("dopishuvam " + f.getName());
  94. } else if (f.isHidden()) {
  95. System.out.println("zbunet sum " + f.getName());
  96. f.delete();
  97. }
  98. }
  99. }
  100. }
  101.  
  102. public static void main (String[]args) throws IOException {
  103.  
  104. BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
  105.  
  106. String in = input.readLine();
  107. String out = input.readLine();
  108.  
  109. manage(in, out);
  110.  
  111. }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment