Classe Java.io.File en Java
La classe Java File est la représentation Java d’un chemin d’accès à un fichier ou à un répertoire. Étant donné que les noms de fichiers et de répertoires ont des formats différents selon les plates-formes, une simple chaîne ne suffit pas pour les nommer. La classe Java File contient plusieurs méthodes pour travailler avec le nom de chemin, supprimer et renommer des fichiers, créer de nouveaux répertoires, répertorier le contenu d'un répertoire et déterminer plusieurs attributs communs des fichiers et des répertoires.
- Il s'agit d'une représentation abstraite des fichiers et des chemins d'accès aux répertoires.
- Un nom de chemin, qu'il soit abstrait ou sous forme de chaîne, peut être absolu ou relatif. Le parent d'un chemin abstrait peut être obtenu en appelant la méthode getParent() de cette classe.
- Tout d’abord, nous devons créer l’objet de classe File en lui transmettant le nom du fichier ou du répertoire. Un système de fichiers peut implémenter des restrictions sur certaines opérations sur l'objet du système de fichiers réel, telles que la lecture, l'écriture et l'exécution. Ces restrictions sont collectivement appelées autorisations d'accès.
- Les instances de la classe File sont immuables ; c'est-à-dire qu'une fois créé, le chemin abstrait représenté par un objet File ne changera jamais.
Comment créer un objet fichier ?
Un objet File est créé en transmettant une chaîne qui représente le nom d'un fichier, d'une chaîne ou d'un autre objet File. Par exemple,
File a = new File('/usr/local/bin/geeks'); Ceci définit un nom de fichier abstrait pour le fichier geeks dans le répertoire /usr/local/bin. Il s'agit d'un nom de fichier abstrait absolu.
Champs dans la classe de fichiers en Java
| Champ | Taper | Description |
|---|---|---|
| cheminSéparateur | Chaîne | le caractère ou la chaîne utilisé pour séparer les chemins individuels dans une liste de chemins du système de fichiers. |
| pathSeperatorChar | Carboniser | le caractère utilisé pour séparer les chemins individuels dans une liste de chemins du système de fichiers. |
| séparateur | Chaîne | caractère séparateur de nom par défaut représenté sous forme de chaîne. |
| séparateurChar | Carboniser | caractère séparateur de nom par défaut. |
Constructeurs de classe de fichiers Java
- Fichier (Fichier parent, String enfant) : crée une nouvelle instance de fichier à partir d'un chemin d'accès abstrait parent et d'une chaîne de nom de chemin enfant. Fichier (String pathname) : crée une nouvelle instance de fichier en convertissant la chaîne de nom de chemin donnée en un nom de chemin abstrait. Fichier (String parent, String child) : crée une nouvelle instance de fichier à partir d'une chaîne de nom de chemin parent et d'une chaîne de nom de chemin enfant. Fichier (URI uri) : crée une nouvelle instance de fichier en convertissant le fichier donné : URI en un chemin abstrait.
Méthodes de classe de fichiers en Java
| Oui Non. | Méthode | Description | Type de retour |
|---|---|---|---|
| 1. | peutExécuter() | Teste si l'application peut exécuter le fichier désigné par ce chemin d'accès abstrait. | booléen |
| 2. | Peux lire() | Teste si l'application peut lire le fichier désigné par ce chemin d'accès abstrait. | booléen |
| 3. | peut écrire() | Teste si l'application peut modifier le fichier désigné par ce chemin d'accès abstrait. | booléen |
| 4. | comparerÀ(Chemin du fichier) | Compare lexicographiquement deux chemins abstraits. | int |
| 5. | créer un nouveau fichier() | Crée atomiquement un nouveau fichier vide nommé par ce chemin abstrait. | booléen |
| 6. | createTempFile (préfixe de chaîne, suffixe de chaîne) | Crée un fichier vide dans le répertoire de fichiers temporaires par défaut. | Déposer |
| 7. | supprimer() | Supprime le fichier ou le répertoire désigné par ce chemin d'accès abstrait. | booléen |
| 8. | est égal (objet obj) | Teste l’égalité de ce chemin abstrait avec l’objet donné. | booléen |
| 9. | existe() | Teste si le fichier ou le répertoire désigné par ce chemin abstrait existe. | booléen |
| dix. | getAbsolutePath() | Renvoie la chaîne de chemin absolu de ce chemin abstrait. | Chaîne |
| onze. | liste() | Renvoie un tableau de chaînes nommant les fichiers et répertoires du répertoire. | Chaîne[] |
| 12. | obtenirEspaceLibre() | Renvoie le nombre d'octets non alloués dans la partition. | long |
| 13. | getName() | Renvoie le nom du fichier ou du répertoire désigné par ce chemin abstrait. | Chaîne |
| 14. | obtenirParent() | Renvoie la chaîne de chemin du parent de ce chemin abstrait. | Chaîne |
| quinze. | getParentFile() | Renvoie le chemin abstrait du parent de ce chemin abstrait. | Déposer |
| 16. | getPath() | Convertit ce chemin abstrait en une chaîne de nom de chemin. | Chaîne |
| 17. | setReadOnly() | Marque le fichier ou le répertoire nommé afin que seules les opérations de lecture soient autorisées. | booléen |
| 18. | estDirectory() | Teste si le fichier désigné par ce chemin d'accès est un répertoire. | booléen |
| 19. | estFichier() | Teste si le fichier désigné par ce chemin abstrait est un fichier normal. | booléen |
| vingt. | est caché() | Teste si le fichier nommé par ce chemin abstrait est un fichier caché. | booléen |
| vingt-et-un. | longueur() | Renvoie la longueur du fichier indiquée par ce chemin abstrait. | long |
| 22. | listFiles() | Renvoie un tableau de chemins abstraits désignant les fichiers du répertoire. | Déposer[] |
| 23. | mkdir() | Crée le répertoire nommé par ce chemin abstrait. | booléen |
| 24. | renameTo (destination du fichier) | Renomme le fichier désigné par ce chemin abstrait. | booléen |
| 25. | setExecutable (exécutable booléen) | Une méthode pratique pour définir l’autorisation d’exécution du propriétaire. | booléen |
| 26. | setReadable (booléen lisible) | Une méthode pratique pour définir l’autorisation de lecture du propriétaire. | booléen |
| 27. | setReadable (booléen lisible, booléen propriétaire uniquement) | Définit l’autorisation de lecture du propriétaire ou de tout le monde. | booléen |
| 28. | setWritable (booléen inscriptible) | Une méthode pratique pour définir l’autorisation d’écriture du propriétaire. | booléen |
| 29. | àChaîne() | Renvoie la chaîne de chemin de ce chemin abstrait. | Chaîne |
| 30. | versURI() | Construit un URI de fichier qui représente ce chemin d'accès abstrait. | TAPER |
Exemples de classes de fichiers Java
Exemple 1: Programme pour vérifier si un fichier ou un répertoire existe physiquement ou non.
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());> > }> > }> }> |
Sortir
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
Exemple 2 : Programme pour afficher tout le contenu d'un répertoire
Ici, nous accepterons un nom de répertoire à partir du clavier, puis afficherons tout le contenu du répertoire. À cette fin, la méthode list() peut être utilisée comme :
String arr[]=f.list();
Dans l'instruction précédente, la méthode list() fait en sorte que toutes les entrées du répertoire soient copiées dans le tableau arr[] . Passez ensuite ces éléments du tableau arr[i] à l'objet File et testez-les pour savoir s'ils représentent un fichier ou un répertoire.
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'); } }> |
Sortir
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
Article similaire: FileReader et FileWriter en Java