CodeGym/Blog Java/Random-FR/Classe Java.io.File
John Squirrels
Niveau 41
San Francisco

Classe Java.io.File

Publié dans le groupe Random-FR
membres
Dans de nombreux cas, le programme doit accéder à certains fichiers dans son travail. Par exemple, les données utilisateur peuvent être enregistrées dans un fichier externe et pour les lire, le programme doit pouvoir travailler avec lui - ouvrir, lire les données, éventuellement les modifier et les fermer. À ces fins, le langage de programmation Java possède la classe Java.io.File . Dans cet article, nous examinerons de quel type de classe il s'agit et donnerons un exemple de son utilisation.

Qu'est-ce que la classe de fichiers Java

La classe File est définie dans le package java.io et elle ne fonctionne pas directement avec les flux. La classe Java File sert à gérer les informations sur les fichiers et les répertoires. Comme vous le savez, au niveau du système d'exploitation, les fichiers et les répertoires sont des objets différents. Cependant, en Java, ils sont tous deux décrits par la même classe File . Vous vous demandez peut-être pourquoi ne pas simplement utiliser des chaînes pour faire référence à des fichiers ? Tout d’abord, parce que l’accès aux fichiers est différent selon les systèmes d’exploitation.

Constructeurs de classes de fichiers

Selon que l' objet Java.io.File Class doit représenter un fichier ou un répertoire, nous pouvons utiliser l'un des constructeurs pour créer l'objet : File(String pathname) dans ce cas, le constructeur crée une nouvelle instance de File en convertissant le chemin donné. chaîne dans un chemin d’accès abstrait. File(String myPath, String myString) ce constructeur crée une nouvelle instance de File à partir d'une chaîne de nom de chemin myPath et d'une chaîne de nom de chemin myString. File (File parent, String name) crée une nouvelle instance de File à partir d'un chemin d'accès abstrait au fichier et d'une chaîne de nom de chemin. Fichier (URI uri) dans ce cas, le constructeur crée une nouvelle instance de fichier en convertissant le fichier donné : URI en un nom de chemin abstrait. URI est une classe Java qui représente une référence URI (Uniform Resource Identifier). Voici un exemple de différents constructeurs de classe Java.io.File :
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class FileTest {
   public static void main(String[] args) throws URISyntaxException {
       File myFile1 = new File("d:\\MyCat");
       File myFile2 = new File ("d:\\MyCat", "cat.txt");
       File myFile3 = new File(myFile1, "cat.txt");
       URI uri = new URI ("https://docs.oracle.com/javase/7/docs/api/java/net/URI.html");
       File myFile4 = new File(uri);
   }
}

Méthodes de classe de fichiers

La classe Java File dispose d'un certain nombre de méthodes qui vous permettent de manipuler des fichiers et des répertoires. Considérons quelques-uns d'entre eux :
  • boolean createNewFile() crée un nouveau fichier au chemin transmis au constructeur. Renvoie vrai en cas de succès, sinon faux

  • boolean delete() supprime un répertoire ou un fichier dans le chemin transmis au constructeur. Renvoie vrai en cas de suppression réussie

  • boolean exist() vérifie si un fichier ou un répertoire existe au chemin spécifié dans le constructeur. Si le fichier ou le répertoire existe, renvoie vrai, sinon renvoie faux

  • String getAbsolutePath() renvoie le chemin absolu du chemin transmis au constructeur de l'objet

  • String getName() renvoie le nom court d'un fichier ou d'un répertoire

  • String getParent() renvoie le nom du répertoire parent

  • boolean isDirectory() renvoie true si le chemin donné contient un répertoire

  • boolean isFile() renvoie true s'il existe un fichier au chemin indiqué

  • boolean isHidden() renvoie true si le répertoire ou le fichier est masqué

  • long length() renvoie la taille du fichier en octets

  • long lastModified() renvoie l'heure à laquelle un fichier ou un répertoire a été modifié pour la dernière fois. La valeur représente le nombre de millisecondes écoulées depuis l'époque Unix

  • String[] list() renvoie un tableau de fichiers et de sous-répertoires qui se trouvent dans un répertoire spécifique

  • File[] listFiles() renvoie un tableau de fichiers et de sous-répertoires qui se trouvent dans un répertoire spécifique

  • boolean mkdir() crée un nouveau répertoire et renvoie true en cas de succès

  • boolean renameTo(File dest) renomme un fichier ou un répertoire

Certaines fonctionnalités de la classe Java File

  • Le chemin, abstrait ou chaîne, peut être absolu ou relatif. Le parent d'un chemin abstrait peut être récupéré en appelant la méthode getParent() de cette classe.

  • Nous devons d’abord créer un objet de la classe File , en lui passant le nom d’un fichier ou d’un répertoire. Le système de fichiers peut imposer des restrictions sur certaines opérations sur l'objet réel du système de fichiers, telles que la lecture, l'écriture et l'exécution. Ces restrictions sont appelées autorisations d'accès.

  • Les instances de la classe File sont immuables. Cela signifie qu'une fois que vous avez créé un fichier, le chemin abstrait représenté par l' objet File ne changera jamais.

Exemples de code de classe de fichier

Créons un programme qui fonctionne avec des répertoires. Tout d'abord, il doit créer un répertoire au chemin indiqué, puis créer un nouveau fichier et vérifier si le fichier et le répertoire existent.
import java.io.File;
import java.io.IOException;

public class FileTest2 {
   public static void main(String[] args) throws IOException {

       //create a directory using mkdir() File class method
       File dir = new File("d:\\MyDir");
       boolean created = dir.mkdir();
       if(created)
           System.out.println("Folder has been created...");
       else
           System.out.println("Folder hasn't been created...");
       File myFile = new File("d:\\MyDir\\cat.txt");
       myFile.createNewFile();
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if(myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");
      }
}
Voici le résultat :
Le dossier a été créé... Nom du fichier : cat.txt Dossier parent : d:\MyDir Le fichier existe
À propos, si vous avez tout fait correctement, vous pouvez trouver un nouveau répertoire et un nouveau fichier sur votre ordinateur. Écrivons maintenant un programme dans lequel nous pouvons travailler avec le répertoire créé et le fichier. Ici, nous utilisons certaines des méthodes décrites ci-dessus.
import java.io.File;

public class FileTest3 {

   public static void main(String[] args) {

       File dir = new File("d:\\MyDir");
       File myFile = new File("d:\\MyDir\\cat.txt");
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if (myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");

       System.out.println("Absolute path: " + myFile.getAbsolutePath());

       if (myFile.exists()) {
           System.out.println("Is writable: " + myFile.canWrite());
           System.out.println("Is readable: " + myFile.canRead());
           System.out.println("Is a directory: " + myFile.isDirectory());
           System.out.println("myFile Size in bytes = " + myFile.length());

       }
   }
}
Le résultat du programme est :
Nom de fichier : cat.txt Dossier parent : d:\MyDir Le fichier existe Chemin absolu : d:\MyDir\cat.txt Est accessible en écriture : true Est lisible : true Est un répertoire : false myFile Taille en octets = 0
Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires