Maison  >  Article  >  Java  >  Comment lister les fichiers cachés dans un répertoire en Java ?

Comment lister les fichiers cachés dans un répertoire en Java ?

王林
王林avant
2023-09-10 14:09:031228parcourir

Comment lister les fichiers cachés dans un répertoire en Java ?

La méthode ListFiles() renvoie un tableau contenant des objets (chemins abstraits) pour tous les fichiers (et répertoires) dans le chemin représenté par l'objet (Fichier) actuel.

L'interface File Filter est un filtre permettant de filtrer les noms de chemin qui peuvent être transmis en tant que paramètres à la méthode listFiles(). Cette méthode filtre les noms de fichiers en fonction du filtre transmis.

Pour obtenir les répertoires cachés dans un dossier, implémentez un FileFilter qui n'accepte que les répertoires cachés et transmettez-le en paramètre à la méthode listFiles().

Exemple

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Test{
   public static void main(String args[]) throws IOException {
    //Creating a File object for directory
    File directoryPath = new File("D:\ExampleDirectory");
    //Creating filter for directories files
    FileFilter fileFilter = new FileFilter(){
         public boolean accept(File dir) {          
            if (dir.isDirectory()&& dir.isHidden()) {
               return true;
            } else {
               return false;
            }
         }
      };        
      File[] list = directoryPath.listFiles(fileFilter);
      System.out.println("List of the jpeg files in the specified directory:");  
      for(File fileName : list) {
         System.out.println(fileName.getName());
         System.out.println(fileName);
      }  
   }
}

Output

List of the jpeg files in the specified directory:
hidden directory1
D:\ExampleDirectory\hidden directory1
hidden directory2
D:\ExampleDirectory\hidden directory2

Nous pouvons également utiliser la méthode isHidden() de la classe Files pour obtenir la liste des fichiers cachés −

Exemple

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) throws IOException {
       File dir = new File("D:\ExampleDirectory");
       File[] files = dir.listFiles(File::isHidden);
       Stream <File> fileStream = Arrays.stream(files);
       fileStream.forEach(file -> System.out.println(file.getName()));
    }
}

Output

D:\ExampleDirectory\hidden directory1
D:\ExampleDirectory\hidden directory2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer