Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ispitni;
- import java.io.*;
- public class IspitSeptemvri2014 {
- public static void main(String[] args) throws IOException {
- listanje("in", "out");
- }
- public static void listanje(String in, String out) throws IOException {
- File sourceFolder = new File(in);
- if (!sourceFolder.exists())
- System.out.println("Ne postoi " + in);
- else {
- if (!sourceFolder.isDirectory()) {
- System.out.println(in + " ne e direktorium");
- return;
- }
- File destinationFolder = new File(out);
- if (!destinationFolder.exists()) {
- destinationFolder.mkdirs();
- } else {
- if (destinationFolder.isDirectory())
- rekurzijaBrisenje(destinationFolder);
- else {
- System.out.println(out + " ne e direktorium");
- return;
- }
- }
- File tail = new File(destinationFolder, "tail.txt");
- tail.createNewFile();
- File[] lista = sourceFolder.listFiles();
- for (File fajl : lista) {
- if (fajl.isFile()) {
- System.out.println("Datoteka " + fajl.getName());
- long golemina = fajl.length();
- float goleminaKb = (float) golemina / 1024;
- System.out.println("so golemina " + goleminaKb);
- if (fajl.getName().endsWith(".dat")) {
- fajl.renameTo(new File(destinationFolder, fajl.getName()));
- }
- // treba da e 160
- // ama za testiranje pomala brojka
- // pred submit na reshenieto
- // da se smeni
- if (goleminaKb > 0) {
- if (fajl.length() >= 3) {
- RandomAccessFile vlez = null;
- RandomAccessFile izlez = null;
- try {
- vlez = new RandomAccessFile(fajl, "r");
- izlez = new RandomAccessFile(tail, "rw");
- vlez.seek(vlez.length() - 3);
- izlez.seek(izlez.length());
- byte[] buff = new byte[3];
- int offset = 0;
- int len = 3;
- int read = 0;
- while (offset != 3) {
- read = vlez.read(buff, offset, len);
- if (read == -1) {
- break;
- }
- offset += read;
- len = 3 - read;
- }
- izlez.write(buff);
- }
- finally {
- if (vlez != null) {
- vlez.close();
- }
- if (izlez != null)
- izlez.close();
- }
- }
- }
- } else if (fajl.isDirectory()) {
- System.out.println("Direktorium " + fajl.getName());
- listanje(fajl.getName(), out);
- }
- }
- }
- }
- public static void rekurzijaBrisenje(File papka) {
- // listanje na direktoriumot papka
- File[] lista = papka.listFiles();
- // izminuvanje na site File-ovi
- // od direktoriumot papka
- // koi se smesteni vo lista
- for (File f : lista) {
- // dokolku e datoteka
- // moze vednas da se izbrise
- if (f.isFile()) {
- f.delete();
- }
- // dokolku e direktorium
- // vikni ja funkcijata za nego
- // toa kje ovozmozi da se izlista direktoriumot
- // i da se izbrisat site datoteki vo nego
- else if (f.isDirectory()) {
- rekurzijaBrisenje(f);
- // otkako kje se izbrisat site datoteki od direktoriumot
- // direktoriumot kje ostane prazen
- // i moze bez problem da se izbrise
- f.delete();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement