如何在Java中列出目录中的隐藏文件?

如何在Java中列出目录中的隐藏文件?

The ListFiles()方法返回一个数组,其中包含当前(File)对象表示的路径中所有文件(和目录)的对象(抽象路径)。

File Filter接口是用于过滤可以将其作为参数传递给listFiles()方法的路径名的过滤器。该方法根据传递的过滤器过滤文件名。

要获取文件夹中的隐藏目录,请实现一个只接受隐藏目录的FileFilter,并将其作为参数传递给listFiles()方法。

示例

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);
      }  
   }
}

输出

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

我们还可以使用Files类的isHidden()方法获取隐藏文件的列表 −

示例

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()));
    }
}

输出

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

以上就是如何在Java中列出目录中的隐藏文件?的详细内容,更多请关注编程之家其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐