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

Javaでディレクトリ内のファイルを検索する方法


List() Fileクラスのメソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイルとディレクトリの名前を含むString配列を返します。

ファイルを検索するには、equals()メソッドを使用して、ディレクトリ内の各ファイルの名前を必要なファイルの名前と比較する必要があります。

import java.io.File;
import java.util.Arrays;
import java.util.Scanner;
public class Example {
   public static void main(String[] argv) throws Exception {
      System.out.println("Enter the directory path: ");
      Scanner sc = new Scanner(System.in);
      String pathStr = sc.next();        
      System.out.println("Enter the desired file name: ");
      String file = sc.next();
      System.out.println(file);      
      File dir = new File(pathStr);
      String[] list = dir.list();
      System.out.println(Arrays.toString(list));
      boolean flag = false;      
      for (int i = 0; i < list.length; i++) {
         if(file.equals(list[i])){
            flag = true;
         }
      }        
      if(flag){
         System.out.println("File Found");
      }else{
         System.out.println("File Not Found");
      }
   }
}

出力

Enter the directory path:
D:\\ExampleDirectory
Enter the desired file name:
demo2.pdf
demo2.pdf
[demo1.pdf, demo2.pdf, sample directory1, sample directory2, sample directory3, sample directory4, sample_jpeg1.jpg, sample_jpeg2.jpg, test1.docx, test2.docx]
File Found

String []リスト(FilenameFilterフィルター) Fileクラスのメソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイルとディレクトリの名前を含むString配列を返します。ただし、再調整された配列には、指定されたフィルターに基づいてフィルター処理されたファイル名が含まれています。 FilenameFilter は、単一のメソッドを備えたJavaのインターフェースです。

accept(ファイルディレクトリ、文字列名)

ファイル名を検索するには、目的のファイルの名前と一致するFilenameFilterを実装する必要があります。

import java.io.File;
import java.io.FilenameFilter;
public class Example {
   public static void main(String[] argv) throws Exception {
      File dir = new File("D:\\ExampleDirectory");
      FilenameFilter filter = new FilenameFilter() {
         public boolean accept(File dir, String name) {
            return name.equalsIgnoreCase("demo1.pdf");
         }
      };
      String[] files = dir.list(filter);
      if (files == null) {
         System.out.println("File Not Found");
      }else {
          System.out.println("File Found");
      }
   }
}

出力

File Found


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

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

  2. JavaでJSONオブジェクトをファイルに書き込むにはどうすればよいですか?

    JSON 広く使用されているデータ交換の1つです フォーマットし、軽量 および言語 独立 。 json.simple は、JSONファイルの書き込みに使用できる軽量のJSON処理ライブラリです。 エンコードに使用できます またはデコード JSONテキストであり、 Jに完全に準拠しています SON仕様(RFC4627)。 JSONファイルを読み取るには、 json-simple.jarをダウンロードする必要があります ファイルを作成し、それを実行するためのパスを設定します。 例 import java.io.*; import java.util.*; import org.json.s