2016-04-08 3 views
-1

私はフォルダ名が "New folder"で、内部に3つのファイルがあります。私は自分の名前 "Sheba"を含むファイル名をJavaを使ってその内容として印刷する必要があります。誰か助けてくれますか?特定の再帰的な文字列を内部に持つコンテンツを構成するフォルダからファイル名を印刷する方法

+0

ドキュメントの調査を行って、行ってから、まだ問題があるかどうか尋ねてください。 – jr593

+1

フォルダ内のファイルを一覧表示し、ファイルの内容を読み、 "Sheba"を探します。見つかったら、ファイル名を表示します。今すぐ実装する必要があります。がんばろう。 – Thomas

+0

これを行うためのコードを書くことができます。あなたがそのコードに特有の問題を抱えているときに戻ってください。これはコード作成サービスではありません。 – Raedwald

答えて

0

Java.io.FileのlistFilesメソッドを使用して、ディレクトリにファイルをリストするだけで済みます。ここ は、私は、リスト内のすべてのファイルウィッヒ名を入れたとえば、あるSheebaが含まれています。

 ArrayList<File> findFiles= new ArrayList<File>(); 
    f = new File("[path2newFolder]"); 
    File[] paths = f.listFiles(); 


    for(File path:paths) 
    { // getting the files containing Sheeba 
     if (path.getName().contains("Sheeba"){ 
      findFiles.add(path); 
     } 
    } 

あなたはFindFilesとに含まれるファイルの内容を一覧表示することができ、その後。

0

FileFilterまたはFilenameFilterインターフェイスを参照してください。

File.listFilesメソッドを呼び出すと、必要なファイルのみを取得できます。ファイルを取得した後にファイルをフィルタリングする代わりに、これを使用する利点の1つは、ファイルを再利用できるということです。

例: フィルタクラス(匿名を作成することができます):

public class MyFileFilter implements FilenameFilter { 
    private String filenamePart; 
    public MyFileFilter(String filenamePart) { 
     this.filenamePart = filenamePart; 
    } 
    /** 
    * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String) 
    */ 
    @Override 
    public boolean accept(File dir, String name) { 
     return name.contains(filenamePart); 
    } 
} 

そして、あなたはこのようにそれを呼び出すことができます。あなただけのファイルを一覧表示

File[] paths = new File("c:\\myParentDirectory").listFiles(); 

ノート(とディレクトリ)を親ディレクトリのみで使用します。サブディレクトリにはありません。

関連する問題