Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでファイル拡張子のあるディレクトリを検索するにはどうすればよいですか?


次の例では、拡張子に基づいてディレクトリ内のファイルを出力します-

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) throws IOException {
      Stream<Path> path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of PDF files:");
      path = path.filter(var -> var.toString().endsWith(".pdf"));
      path.forEach(System.out::println);      
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of JPG files:");
      path = path.filter(var -> var.toString().endsWith(".jpg"));
      path.forEach(System.out::println);    
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of text files:");
      path = path.filter(var -> var.toString().endsWith(".txt"));
      path.forEach(System.out::println);      
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of word files:");
      path = path.filter(var -> var.toString().endsWith(".docx"));
      path.forEach(System.out::println);      
    }
}

出力

List of PDF files:
D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
List of JPG files:
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
List of text files:
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
List of word files:
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx

次の例では、拡張子に基づいてディレクトリ内のPDFファイルの名前を出力します-

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class MyExample{
   public static void main(String args[]) throws IOException {
    //Creating a File object for directory
    File directoryPath = new File("D:\\ExampleDirectory");
    //Creating filter for jpg files
    FilenameFilter jpgFilefilter = new FilenameFilter(){
         public boolean accept(File dir, String name) {
            String lowercaseName = name.toLowerCase();
            if (lowercaseName.endsWith(".pdf")) {
               return true;
            } else {
               return false;
            }
         }
      };        
      String imageFilesList[] = directoryPath.list(jpgFilefilter);
      System.out.println("List of the jpeg files in the specified directory:");  
      for(String fileName : imageFilesList) {
         System.out.println(fileName);
      }  
   }
}

出力

List of the jpeg files in the specified directory:
demo1.pdf
demo2.pdf

  1. Javaを使用してディレクトリ階層を作成するにはどうすればよいですか?

    ファイルという名前のクラス java.ioパッケージのは、システム内のファイルまたはディレクトリ(パス名)を表します。このクラスは、ファイル/ディレクトリに対してさまざまな操作を実行するためのさまざまなメソッドを提供します。 mkdir() このクラスのメソッドは、現在のオブジェクトによって表されるパスでディレクトリを作成します。 ディレクトリ階層の作成 新しいディレクトリの階層を作成するには、メソッド mkdirs()を使用できます。 同じクラスの。このメソッドは、存在しない親ディレクトリを含む、現在のオブジェクトによって表されるパスでディレクトリを作成します。 例 import ja

  2. ディレクトリ内のすべてのファイルを再帰的に一覧表示するJavaプログラム

    ディレクトリDにExampleDirectoryという名前のフォルダがあり、7つのファイルと2つのディレクトリが-であると仮定します。 どこで、 SampleDirectory1には、SampleFile1.txtとSampleFile2.txtという名前の2つのファイルが含まれています。 SampleDirectory2には、SampleFile2.txtとSampleFile3.txtという名前の2つのファイルが含まれています。 例 次のJavaの例は、 ExampleDirectoryという名前のディレクトリ内のすべてのファイルの名前を示しています。 。 i