2012-01-12 15 views
9

私は、特定の拡張子を持つSDカード上にあるファイルのファイル名をスピナーに入力するアプリをAndroidで作成しようとしています。私はスピナーに正しいファイルを入力するためにこれまでのところそれを得ることができますが、パスも表示されます。誰でも、AndroidのSDカードのディレクトリにある特定のファイルのファイル名のみを取得する方法を教えてください。Androidのディレクトリからファイル名を取得する

答えて

23
File sdCardRoot = Environment.getExternalStorageDirectory(); 
File yourDir = new File(sdCardRoot, "path"); 
for (File f : yourDir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // Do your stuff 
} 

は、詳細はEnvironmentページを見てください。

+0

JNIで同じことをする方法はありますか? –

+0

このコードはNPEを提供しています。下の私の答えをチェックしてください。それは私のために働いた。素敵な答えのためにBTWプラス1! –

0

は、その時点で文字列をカットして、ファイル名などの文字列の右端の一部を取って、その後、最初のスラッシュを見つけ、(右から左)逆の順序で文字列を処理できありがとう?

0

ファイルオブジェクトの使用方法のgetName():

file.getName(); 
2

は答え上記

File sdCard = Environment.getExternalStorageDirectory(); 
File dir = new File(sdCard, "yourpath"); 
for (File f : dir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // do whatever you want with filename 
} 
0
File filePath= new File(File Address); 
File[] fileList = filePath.listFiles(); 
String name = fileList [0].getName().toString(); 
+0

説明なしではあまり役に立ちません。特定の質問に対処しません(名前/内線でフィルタ)。 –

+0

よろしくお願い致します。 –

0

は、私の場合には、nullポインタ例外を与えているコードの下に試してみてください。次のコードは私のために働いた:

File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases"); 
    for (File f : yourDir.listFiles()) { 
     if (f.isFile()) 
      name = f.getName(); 
     // Do your stuff 
} 
関連する問題