La classe File Java è la rappresentazione Java di un percorso di file o directory. Poiché i nomi di file e directory hanno formati diversi su piattaforme diverse, una semplice stringa non è adeguata per denominarli. La classe Java File contiene diversi metodi per lavorare con il nome del percorso, eliminare e rinominare file, creare nuove directory, elencare il contenuto di una directory e determinare diversi attributi comuni di file e directory.
- È una rappresentazione astratta di file e percorsi di directory.
- Un percorso, astratto o in forma di stringa, può essere assoluto o relativo. Il genitore di un percorso astratto può essere ottenuto invocando il metodo getParent() di questa classe.
- Prima di tutto, dovremmo creare l'oggetto della classe File passandogli il nome del file o della directory. Un file system può implementare restrizioni a determinate operazioni sull'effettivo oggetto del file system, come lettura, scrittura ed esecuzione. Queste restrizioni sono collettivamente note come autorizzazioni di accesso.
- Le istanze della classe File sono immutabili; cioè, una volta creato, il percorso astratto rappresentato da un oggetto File non cambierà mai.
Come creare un oggetto file?
Un oggetto File viene creato passando una stringa che rappresenta il nome di un file, una String o un altro oggetto File. Per esempio,
File a = new File('/usr/local/bin/geeks');> Questo definisce un nome file astratto per il file geeks nella directory /usr/local/bin. Questo è un nome di file astratto assoluto.
Campi nella classe File in Java
| Campo alberi avl | Tipo | Descrizione |
|---|---|---|
| pathSeperator | Corda | il carattere o la stringa utilizzata per separare i singoli percorsi in un elenco di percorsi del file system. |
| pathSeperatorChar | Car | il carattere utilizzato per separare i singoli percorsi in un elenco di percorsi del file system. |
| separatore | Corda | carattere separatore del nome predefinito rappresentato come una stringa. |
| separatoreChar | Car | carattere separatore del nome predefinito. |
Costruttori della classe di file Java
- File(File genitore, String figlio): crea una nuova istanza File da un percorso astratto padre e una stringa del nome percorso figlio. File (nome percorso stringa): crea una nuova istanza File convertendo la stringa del nome percorso specificata in un nome percorso astratto. File(String parent, String child): crea una nuova istanza File da una stringa del nome di percorso padre e da una stringa del nome di percorso figlio. File(URI uri): crea una nuova istanza File convertendo il file specificato: URI in un percorso astratto.
Metodi della classe File in Java
| Si No. | Metodo | Descrizione | Tipo di reso |
|---|---|---|---|
| 1. | puòEseguire() | Verifica se l'applicazione può eseguire il file indicato da questo percorso astratto. | booleano |
| 2. | puòLeggere() | Verifica se l'applicazione può leggere il file indicato da questo percorso astratto. | booleano |
| 3. | puòScrivere() | Verifica se l'applicazione può modificare il file indicato da questo percorso astratto. | booleano |
| 4. | confrontaCon(percorso file) | Confronta lessicograficamente due percorsi astratti. | int |
| 5. | creaNuovoFile() | Crea atomicamente un nuovo file vuoto denominato con questo percorso astratto. | booleano |
| 6. | createTempFile(Prefisso stringa, Suffisso stringa) | Crea un file vuoto nella directory predefinita dei file temporanei. | File |
| 7. | eliminare() | Elimina il file o la directory indicata da questo percorso astratto. | booleano |
| 8. | è uguale a(Oggetto oggetto) | Verifica l'uguaglianza di questo percorso astratto con l'oggetto specificato. | booleano |
| 9. | esiste() | Verifica se esiste il file o la directory indicata da questo percorso astratto. | booleano |
| 10. | getAbsolutePath() | Restituisce la stringa del percorso assoluto di questo percorso astratto. | Corda |
| undici. | elenco() | Restituisce un array di stringhe che denominano i file e le directory nella directory. | Corda[] |
| 12. | getFreeSpace() | Restituisce il numero di byte non allocati nella partizione. | lungo |
| 13. | getNome() | Restituisce il nome del file o della directory indicato da questo percorso astratto. | Corda |
| 14. | getParent() | Restituisce la stringa del percorso del genitore di questo percorso astratto. | Corda |
| quindici. | getFileParent() | Restituisce il percorso astratto del genitore di questo percorso astratto. | File |
| 16. | getPath() | Converte questo nome di percorso astratto in una stringa di nome di percorso. | Corda |
| 17. | setSolaLettura() | Contrassegna il file o la directory denominata in modo che siano consentite solo le operazioni di lettura. | booleano |
| 18. | èDirectory() | Verifica se il file indicato da questo percorso è una directory. | booleano |
| 19. | èFile() | Verifica se il file indicato da questo percorso astratto è un file normale. | booleano |
| venti. | è nascosto() | Verifica se il file denominato da questo percorso astratto è un file nascosto. | booleano |
| ventuno. | lunghezza() | Restituisce la lunghezza del file indicata da questo percorso astratto. | lungo |
| 22. | elencoFile() | Restituisce un array di percorsi astratti che denotano i file nella directory. | File[] |
| 23. | mkdir() | Crea la directory denominata da questo percorso astratto. | booleano |
| 24. | rinominareTo(Destinazione file) | Rinomina il file indicato da questo percorso astratto. | booleano |
| 25. | setExecutable(eseguibile booleano) | Un metodo pratico per impostare l'autorizzazione di esecuzione del proprietario. | booleano |
| 26. | setReadable(leggibile booleano) | Un metodo pratico per impostare l'autorizzazione di lettura del proprietario. | booleano |
| 27. | setReadable(leggibile booleano, solo proprietario booleano) | Imposta il permesso di lettura del proprietario o di tutti. | booleano |
| 28. | setWritable(scrivibile booleano) | Un metodo pratico per impostare il permesso di scrittura del proprietario. | booleano |
| 29. | accordare() | Restituisce la stringa del percorso di questo percorso astratto. | Corda |
| 30. | toURI() | Costruisce un URI di file che rappresenta questo percorso astratto. | TIPO |
Esempi di classi di file Java
Esempio 1: Programma per verificare se un file o una directory esiste fisicamente oppure no.
Giava
// 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());> >}> >}> }> |
convertire una stringa fino ad oggi
>
formato stringa java
>
Produzione
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>
Esempio 2: Programma per visualizzare tutto il contenuto di una directory
Qui accetteremo il nome di una directory dalla tastiera e quindi visualizzeremo tutto il contenuto della directory. A questo scopo, il metodo list() può essere utilizzato come:
String arr[]=f.list();>
Nell'istruzione precedente, il metodo list() fa sì che tutte le voci della directory vengano copiate nell'array arr[] . Quindi passa questi elementi dell'array arr[i] all'oggetto File e testali per sapere se rappresentano un file o una directory.
Giava
ricerca binaria in 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'); } }> |
>
>
valore stringa di
Produzione
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>
Articolo correlato: FileReader e FileWriter in Java