Programare: Java - Bine ați venit în lumea Java
Lucrul cu fișiere și directoare utilizând clasa Fișier
În secțiunile anterioare, am analizat cursurile destinate citirii și scrierea fluxurilor. Cu toate acestea, este de multe ori punerea în aplicare și operațiunile necesare, cum ar fi determinarea atributele unui fișier, crea sau șterge directoare, șterge fișiere, pentru a primi o listă cu toate fișierele dintr-un director, și așa mai departe. Pentru a efectua toate aceste operații în aplicații Java, este utilizată o clasă numită Fișier.
Crearea unui obiect de fișier de clasă
Aveți trei opțiuni pentru a crea un obiect Fișier apelând unul dintre cei trei constructori:
Primul dintre acești constructori are un singur parametru - o referință la șirul de cale către fișier sau director. Cu ajutorul celui de-al doilea constructor, puteți specifica separat directorul dir și numele fișierului pentru care obiectul este creat în directorul curent. Și, în sfârșit, al treilea constructor vă permite să specificați calea completă la director și numele fișierului.
Dacă primul constructor este trecut printr-o referință cu o valoare nulă, NullPointerException va fi aruncat.
Constructorii sunt foarte ușor de folosit. De exemplu, iată cum să creați un obiect Fișier pentru fișierul c: \ autoexec.bat și directorul d: \ winnt:
Definirea atributelor fișierelor și directorilor
După ce creați un obiect din clasa Fișier, puteți defini cu ușurință atributele acestui obiect utilizând metodele corespunzătoare din clasa Fișier.
Verificarea existenței unui fișier sau a unui director
Utilizând metoda existentă, puteți verifica existența fișierului sau a catalogului pentru care a fost creat obiectul Fișier:
Această metodă poate fi utilizată înainte de a crea un fir bazat pe clasa FileOutputStream, dacă trebuie să evitați suprascrierea accidentală a unui fișier existent. În acest caz, înainte de a crea fluxul de clasa FileOutputStream de ieșire ar trebui să creeze clasa obiect de fișiere, specificând calea către constructor, și apoi verificați metoda de fișier suschestovanie există.
Verificarea capacităților de citire și scriere
Metodele canRead și canWrite vă permit să verificați capacitatea de a citi dintr-un fișier și de a scrie într-un fișier, respectiv:
Este util să le aplicați înainte de a crea firele corespunzătoare, dacă doriți să evitați apariția unor excepții asociate unei încercări de a efectua acces neautorizat de tip. Dacă este permis accesul, aceste metode returnează adevărat, iar dacă sunt false, false.
Determinarea tipului de obiect - fișier sau director
Folosind metodele isDirectory și isFile, puteți verifica ce obiect creat al clasei File corespunde: unui director sau unui fișier:
Preluarea numelui unui fișier sau a unui director
Metoda getName returnează numele fișierului sau directorului pentru obiectul File specificat (numele este alocat din cale):
Obținerea căii absolute către director
Metoda getAbsolutePath returnează o cale absolută către un fișier sau un director care poate fi dependent de mașină:
Determinarea tipului căii specificate este absolută sau relativă
Utilizând metoda isAbsolute, puteți determina dacă un obiect Fișier dat corespunde unui fișier sau unui director specificat printr-o cale absolută (completă) sau o cale relativă:
Determinarea căii spre un fișier sau un director
Metoda getPath vă permite să determinați calea independentă a unui fișier sau a unui director:
Definirea directorului părinte
Dacă trebuie să definiți un director părinte pentru un obiect Fișier, puteți face acest lucru cu metoda getParent:
Determinarea lungimii unui fișier în octeți
Lungimea fișierului în octeți poate fi determinată utilizând metoda lungimii:
Determinarea duratei ultimei modificări a unui fișier sau a unui director
Pentru a determina timpul ultimei modificări a unui fișier sau a unui director, puteți apela metoda lastModified:
Rețineți, totuși, că această metodă returnează timp în unități relative din momentul în care sistemul este pornit, deci este convenabil să-l utilizați doar pentru comparații relative.
Obținerea unei reprezentări de text a unui obiect
Metoda toString returnează un șir de text reprezentând un obiect din clasa Fișier:
Obținerea valorii hash
Metoda hashCode returnează valoarea hash corespunzătoare obiectului File:
Ștergerea fișierelor și a directoarelor
Pentru a șterge un fișier sau un director inutil, trebuie să creați obiectul File corespunzător și apoi să apelați metoda de ștergere:
Utilizând metodele mkdir și mkdirs, puteți crea directoare noi:
Prima dintre aceste metode creează un director, al doilea - toate subdirectoarele care conduc la crearea directorului (adică calea completă).
Redenumirea fișierelor și a directoarelor
Pentru a redenumi un fișier sau un director, trebuie să creați două obiecte din clasa Fișier, una care corespunde vechiului nume, iar celălalt celui nou. Apoi, pentru aceste obiecte, trebuie să apelați metoda renameTo, indicând-o ca parametru pentru o referință la al doilea obiect:
Dacă este reușit, metoda returnează adevărat, dacă apare o eroare, este falsă. De asemenea, puteți arunca un SecurityException.
Compararea obiectelor de fișiere
Pentru a compara obiectele din clasa File, trebuie să utilizați metoda equals:
Rețineți că această metodă compară calea către fișiere și directoare, dar nu și fișierele sau directoarele.
Preluarea conținutului unui director
Folosind metoda listă, puteți obține o listă a conținutului directorului care corespunde acestui obiect din clasa Fișier. În clasa File, există două variante ale acestei metode - fără un parametru și cu parametrul:
Prima dintre aceste metode returnează o serie de șiruri de caractere cu numele conținutului directorului, fără a include directorul curent și directorul părinte. A doua vă permite să obțineți o listă a nu tuturor obiectelor stocate în director, dar numai cele care îndeplinesc condițiile specificate în filtrul de filtrare al clasei FilenameFilter.