Clasa Java.io.File în Java
Clasa de fișier Java este reprezentarea Java a unui nume de cale de fișier sau director. Deoarece numele de fișiere și directoare au formate diferite pe platforme diferite, un șir simplu nu este adecvat pentru a le denumi. Clasa Java File conține mai multe metode de lucru cu calea, ștergerea și redenumirea fișierelor, crearea de directoare noi, listarea conținutului unui director și determinarea mai multor atribute comune ale fișierelor și directoarelor.
- Este o reprezentare abstractă a fișierelor și a căilor directoarelor.
- Un nume de cale, indiferent dacă este abstract sau sub formă de șir, poate fi absolut sau relativ. Părintele unei căi abstracte poate fi obținut prin invocarea metodei getParent() a acestei clase.
- În primul rând, ar trebui să creăm obiectul clasei Fișier, pasând numele fișierului sau numele directorului acestuia. Un sistem de fișiere poate implementa restricții la anumite operațiuni pe obiectul propriu-zis al sistemului de fișiere, cum ar fi citirea, scrierea și execuția. Aceste restricții sunt cunoscute în mod colectiv sub numele de permisiuni de acces.
- Instanțele clasei File sunt imuabile; adică, odată creat, calea abstractă reprezentată de un obiect File nu se va schimba niciodată.
Cum se creează un obiect fișier?
Un obiect File este creat prin trecerea unui șir care reprezintă numele unui fișier, un șir sau alt obiect File. De exemplu,
File a = new File('/usr/local/bin/geeks'); Aceasta definește un nume de fișier abstract pentru fișierul geeks din directorul /usr/local/bin. Acesta este un nume de fișier abstract absolut.
Câmpuri din File Class în Java
| Camp | Tip | Descriere |
|---|---|---|
| pathSeperator | Şir | caracterul sau șirul folosit pentru a separa căile individuale într-o listă de căi ale sistemului de fișiere. |
| caleSeparatorChar | Char | caracterul folosit pentru a separa căile individuale într-o listă de căi ale sistemului de fișiere. |
| separator | Şir | caracter implicit separator de nume reprezentat ca șir. |
| separatorChar | Char | caracter implicit separator de nume. |
Constructorii clasei de fișiere Java
- File(File parent, String child): creează o nouă instanță de fișier dintr-un nume de cale abstract părinte și un șir de cale secundară. File(String pathname): creează o nouă instanță de fișier prin conversia șirului de cale dat într-un nume abstract. File(String parent, String child): creează o nouă instanță de fișier dintr-un șir de cale părinte și un șir de cale secundară. Fișier(URI uri): creează o nouă instanță de fișier prin conversia fișierului dat: URI într-o cale abstractă.
Metode a clasei de fișiere în Java
| Da nu. | Metodă | Descriere | Tip de returnare |
|---|---|---|---|
| 1. | canExecute() | Testează dacă aplicația poate executa fișierul indicat de această cale abstractă. | boolean |
| 2. | canRead() | Testează dacă aplicația poate citi fișierul indicat de această cale abstractă. | boolean |
| 3. | poate scrie() | Testează dacă aplicația poate modifica fișierul notat cu acest nume de cale abstract. | boolean |
| 4. | comparăTo(nume cale fișier) | Compară lexicografic două nume de căi abstracte. | int |
| 5. | createNewFile() | Atomic creează un fișier nou, gol, numit după această cale abstractă. | boolean |
| 6. | createTempFile(Prefix șir, sufix șir) | Creează un fișier gol în directorul implicit de fișiere temporare. | Fişier |
| 7. | șterge() | Șterge fișierul sau directorul notat de această cale abstractă. | boolean |
| 8. | este egal(obiect obiect) | Testează această cale abstractă pentru egalitatea cu obiectul dat. | boolean |
| 9. | exista() | Testează dacă fișierul sau directorul notat cu acest nume de cale abstractă există. | boolean |
| 10. | getAbsolutePath() | Returnează șirul de cale absolut al acestui nume de cale abstract. | Şir |
| unsprezece. | listă() | Returnează o matrice de șiruri de caractere care denumesc fișierele și directoarele din director. | Şir[] |
| 12. | getFreeSpace() | Returnează numărul de octeți nealocați din partiție. | lung |
| 13. | getName() | Returnează numele fișierului sau directorului notat de această cale abstractă. | Şir |
| 14. | getParent() | Returnează șirul de cale al părintelui acestui nume de cale abstract. | Şir |
| cincisprezece. | getParentFile() | Returnează numele de cale abstract al părintelui acestui nume de cale abstract. | Fişier |
| 16. | getPath() | Convertește acest nume de cale abstract într-un șir de cale. | Şir |
| 17. | setReadOnly() | Marchează fișierul sau directorul numit astfel încât să fie permise numai operațiunile de citire. | boolean |
| 18. | isDirectory() | Testează dacă fișierul notat de acest nume de cale este un director. | boolean |
| 19. | isFile() | Testează dacă fișierul notat de această cale abstractă este un fișier normal. | boolean |
| douăzeci. | este ascuns() | Testează dacă fișierul numit de această cale abstractă este un fișier ascuns. | boolean |
| douăzeci și unu. | lungime() | Returnează lungimea fișierului indicată de această cale abstractă. | lung |
| 22. | listFiles() | Returnează o matrice de căi abstracte care denotă fișierele din director. | Fişier[] |
| 23. | mkdir() | Creează directorul numit de acest nume de cale abstract. | boolean |
| 24. | renameTo(dest fișier) | Redenumește fișierul notat cu acest nume de cale abstract. | boolean |
| 25. | setExecutable (executabil boolean) | O metodă convenabilă de a seta permisiunea de execuție a proprietarului. | boolean |
| 26. | setReadable(boolean citibil) | O metodă convenabilă de a seta permisiunea de citire a proprietarului. | boolean |
| 27. | setReadable(boolean citibil, boolean proprietarOnly) | Setează permisiunea de citire a proprietarului sau a tuturor. | boolean |
| 28. | setWritable(boolean inscriptibil) | O metodă convenabilă de a seta permisiunea de scriere a proprietarului. | boolean |
| 29. | toString() | Returnează șirul de cale a acestui nume de cale abstract. | Şir |
| 30. | toURI() | Construiește un URI de fișier care reprezintă acest nume de cale abstract. | TIP |
Exemple de clase de fișiere Java
Exemplul 1: Program pentru a verifica dacă un fișier sau un director există fizic sau nu.
Java
// In this Java program, we accepts a file or directory name> // from command line arguments. Then the program will check> // if that file or directory physically exist or not and it> // displays the property of that file or directory.> import> java.io.File;> // Displaying file property> class> fileProperty {> > public> static> void> main(String[] args)> > {> > // accept file name or directory name through> > // command line args> > String fname = args[> 0> ];> > // pass the filename or directory name to File> > // object> > File f => new> File(fname);> > // apply File class methods on File object> > System.out.println(> 'File name :'> + f.getName());> > System.out.println(> 'Path: '> + f.getPath());> > System.out.println(> 'Absolute path:'> > + f.getAbsolutePath());> > System.out.println(> 'Parent:'> + f.getParent());> > System.out.println(> 'Exists :'> + f.exists());> > if> (f.exists()) {> > System.out.println(> 'Is writable:'> > + f.canWrite());> > System.out.println(> 'Is readable'> + f.canRead());> > System.out.println(> 'Is a directory:'> > + f.isDirectory());> > System.out.println(> 'File Size in bytes '> > + f.length());> > }> > }> }> |
Ieșire
File name :file.txt Path: file.txt Absolute path:C:UsersakkiIdeaProjectscodewritingsrcfile.txt Parent:null Exists :true Is writable:true Is readabletrue Is a directory:false File Size in bytes 20
Exemplul 2: Program pentru afișarea întregului conținut al unui director
Aici vom accepta un nume de director de la tastatură și apoi vom afișa tot conținutul directorului. În acest scop, metoda list() poate fi utilizată ca:
String arr[]=f.list();
În instrucțiunea precedentă, metoda list() provoacă toate intrările de director copiate în matrice arr[] . Apoi treceți aceste elemente de matrice arr[i] obiectului File și testați-le pentru a ști dacă reprezintă un fișier sau un director.
Java
// Java Program to display all> // the contents of a directory> import> java.io.BufferedReader;> import> java.io.File;> import> java.io.IOException;> import> java.io.InputStreamReader;> // Displaying the contents of a directory> class> Contents {> > public> static> void> main(String[] args)> > throws> IOException> > {> > // enter the path and dirname from keyboard> > BufferedReader br => new> BufferedReader(> > new> InputStreamReader(System.in));> > System.out.println(> 'Enter dirpath:'> );> > String dirpath = br.readLine();> > System.out.println(> 'Enter the dirname'> );> > String dname = br.readLine();> > // create File object with dirpath and dname> > File f => new> File(dirpath, dname);> > // if directory exists,then> > if> (f.exists()) {> > // get the contents into arr[]> > // now arr[i] represent either a File or> > // Directory> > String arr[] = f.list();> > // find no. of entries in the directory> > int> n = arr.length;> > // displaying the entries> > for> (> int> i => 0> ; i System.out.println(arr[i]); // create File object with the entry and // test if it is a file or directory File f1 = new File(arr[i]); if (f1.isFile()) System.out.println(': is a file'); if (f1.isDirectory()) System.out.println(': is a directory'); } System.out.println( 'No of entries in this directory ' + n); } else System.out.println('Directory not found'); } }> |
Ieșire
Enter dirpath: C:UsersakkiIdeaProjects Enter the dirname codewriting .idea : is a directory an1.txt : is a file codewriting.iml : is a file file.txt : is a file out : is a directory src : is a directory text : is a file No of entries in this directory 7
În legătură cu o postare: FileReader și FileWriter în Java