2012-10-17 6 views
5

内のファイルの数をチェックしますか、私はアプリケーションuse.I用のファイルを格納するための装置の内部メモリにディレクトリを作成しています使用しています:Androidはどのように私は、ディレクトリ

File dir = context.getDir(userfavorites, Context.MODE_PRIVATE); 

を上記のコードは、新規に作成されますディレクトリが存在しない場合はそれを返すか、ディレクトリがすでに作成されている場合は既存のファイルオブジェクトを返します。このディレクトリに含まれるファイルの番号と名前を確認してください。このファイルオブジェクトを使用してこのタスクを実行します。

注:私はdevice.Andの外部メモリを使用したくないので、ディレクトリ内のファイルはディレクトリにない他のファイルから分離する必要があるため、ディレクトリの作成も避けられません。

更新されたコード:

private static boolean IsFoldercontainsFiles(Context context) { 
     // TODO Auto-generated method stub 
     File dir = context.getDir(USER_FAV, Context.MODE_PRIVATE); 
     if (dir.exists()) { 
        if (dir.listFiles() == null){ 
        return false;} //it never execute this line even though its null 
        else{ 
      File childfile[] = dir.listFiles(); 
      Log.i("file no is ", Integer.toString(childfile.length)); 
      if (childfile.length == 0) { 
       return false; 
      } else { 
       return true; 
      } 
       } 
     } else { 
      return false; 
     } 
    } 

事前

答えて

8

のおかげでは、あなたの子供のリストが表示されますFilelistFiles方法を確認してください。

+0

これはうまくいくはずです... – Anshul

+0

しかし、もし私が(dir.listFiles()== null)なら、それはいつもsaですyはnullではないにもかかわらず、thrはディレクトリに何もありません。私はヌルチェックの間違った方法をチェックしていますか?助けてください – Anshul

+0

あなたのコードを投稿できますか? – Rajesh

5

"DIR" のために、すべてのchildfilesを返すこの

ここ
File childfile[] = dir .listFiles(); 
for (File file2 : childfile) { 
    Log.v("file name is ", file2.getName()); 
} 

LISTFILES()を試してみて、これを反復することで、

+0

ありがとうSharath ...あなたの解決は正しい – Anshul

+0

しかし、もし私が(dir.listFiles()== null)をチェックすれば、それは常にそのnullではないと言っても、thrはdirectory.Am私はヌルチェックのために間違った方法をチェックしていますか? – Anshul

+0

あなたのコードを更新することができます –

7
File file=new File("/mnt/sdcard/yourfolder"); 
     File[] list = file.listFiles(); 
     int count = 0; 
     for (File f: list){ 
      String name = f.getName(); 
      if (name.endsWith(".jpg") || name.endsWith(".mp3") || name.endsWith(".some media extention")) 
       count++; 
      System.out.println("170 " + count); 
     } 
-1

シンプルchildfilesの名前を取得するのに役立ちます。

File dir = new File(path); // "/mnt/sdcard/yourfolder" 

long totalNumFiles = dir.listFiles().length; 
+2

コードをダンプするのではなく、詳細を追加します。 –

関連する問題