Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ispitni;
- import java.io.*;
- public class IspitSeptemvri2015Termin2 {
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- rabota("vlez", "izlez");
- }
- public static void rabota(String vlez_value, String izlez_value) throws IOException {
- File vlez = new File(vlez_value);
- File izlez = new File(izlez_value);
- if (!vlez.exists())
- System.out.println("vlez ne postoi");
- else {
- if (! vlez.isDirectory())
- return;
- if (izlez.exists())
- {
- if (izlez.isDirectory())
- rekurzijaBrisenje(izlez);
- else
- return;
- }
- izlez.mkdirs();
- rekurzivnoListanje(vlez, izlez);
- }
- }
- 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();
- }
- }
- }
- public static void rekurzivnoListanje(File vlez, File izlez) throws IOException {
- File[] lista = vlez.listFiles();
- for (File f : lista) {
- if (f.isFile()) {
- // vaka moze za testiranje
- // pa potoa da se smeni so dat
- if (f.getName().endsWith(".txt")) {
- // ova samo za testiranje
- // f.setReadable(true);
- // f.setWritable(true);
- rabotaSoDatoteki(f, izlez);
- }
- }
- else if (f.isDirectory())
- rekurzivnoListanje(f, izlez);
- }
- }
- private static void rabotaSoDatoteki(File datoteka, File izlez) throws IOException {
- if (datoteka.canRead() && !datoteka.canWrite()) {
- File nova = new File(izlez, datoteka.getName());
- if (nova.exists())
- nova.delete();
- nova.createNewFile();
- RandomAccessFile datotekaCitanje = null;
- RandomAccessFile datotekaPisuvanje = null;
- try {
- datotekaCitanje = new RandomAccessFile(datoteka, "r");
- datotekaPisuvanje = new RandomAccessFile(nova, "rw");
- int b = 0;
- while ((b = datotekaCitanje.read()) != -1)
- datotekaPisuvanje.write(b);
- }
- finally {
- if (datotekaCitanje != null)
- datotekaCitanje.close();
- if (datotekaPisuvanje != null)
- datotekaPisuvanje.close();
- }
- } else if (datoteka.canRead() && datoteka.canWrite()) {
- File rezultat = new File(izlez, "write.dat");
- RandomAccessFile datotekaCitanje = null;
- RandomAccessFile datotekaPisuvanje = null;
- try {
- datotekaCitanje = new RandomAccessFile(datoteka, "r");
- datotekaPisuvanje = new RandomAccessFile(rezultat, "rw");
- int b = 0;
- datotekaPisuvanje.seek(rezultat.length());
- while ((b = datotekaCitanje.read()) != -1)
- datotekaPisuvanje.write(b);
- } finally {
- if (datotekaCitanje != null)
- datotekaCitanje.close();
- if (datotekaPisuvanje != null)
- datotekaPisuvanje.close();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement