2016-07-07 15 views
-2

でのドライブは私のC内のすべてのファイルと私のArrayList内のすべての値を比較しようとしています:は、cとのArrayListの値を比較します。Windows

が、ドライブ以下のコードは動作しません

List<String> list = new ArrayList<String>(); 
    list.add("*.txt,*.docx"); 
    File file = new File("c:\\*.txt"); 
    if (file.equals(list)) { 
    System.out.println("file was found"); 
    }else{System.out.println("nothing was found"); 
    } 

だから、私のコードを実行すると、arraylistは自分自身を私のc:ドライブと比較し、 "docxとtxt"の拡張子を持つすべてのファイルをリストするという考えが出ています。

私はワイルドカードを使用しても機能しないことを認識しました。あなたが必要なもの

+0

すべてのファイル名のリストを取得する必要がありますhttp://stackoverflow.com/questions/5694385/getting-the-filenames-of-all-files-in-a-folder – explv

答えて

0

FileNameFilterここで、現在のディレクトリからすべての*.txtファイルを取得する例である要件

に関連するすべてのファイルを取得することです。 FileNameFilterを実装して、リスト上で動作する独自のフィルターを作成することができます。

File f = new File("."); // current directory 

    FilenameFilter textFilter = new FilenameFilter() { 
     public boolean accept(File dir, String name) { 
      String lowercaseName = name.toLowerCase(); 
      if (lowercaseName.endsWith(".txt")) { 
       return true; 
      } else { 
       return false; 
      } 
     } 
    }; 

    File[] files = f.listFiles(textFilter); 

希望します。

+0

コードでは、私はいくつかの変更の後にしたい。感謝万円。 – Ribo01

+0

あなたを助けてくれてうれしい.. ..楽しいコーディングをして..歓声 – Sanjeev