簡単な質問です。指定したディレクトリ内のディレクトリのリストを取得する方法です。android、どのようにディレクトリのリストを取得する?
例えば、
String path = Environment.getExternalStorageDirectory().toString()+"/myApp/";
は今、私は「パス」ディレクトリ内にあるディレクトリのリストを取得する必要があると思います。
ありがとうございます!
簡単な質問です。指定したディレクトリ内のディレクトリのリストを取得する方法です。android、どのようにディレクトリのリストを取得する?
例えば、
String path = Environment.getExternalStorageDirectory().toString()+"/myApp/";
は今、私は「パス」ディレクトリ内にあるディレクトリのリストを取得する必要があると思います。
ありがとうございます!
サムシング(nullのチェックを追加し、例外など。)
File f = new File(path);
File[] files = f.listFiles();
for (File inFile : files) {
if (inFile.isDirectory()) {
// is directory
}
}
LinearLayout root = new LinearLayout(this);
File file = new File(Environment.getExternalStorageDirectory().getPath());
if(file.isDirectory() == false)
{
Toast.makeText(this, "ERROR", Toast.LENGTH_SHORT).show();
return;
}
File[] files = file.listFiles();
int i = 1;
for(File f : files)
{
if(f.isFile() || f.isDirectory())
{
try
{
LinearLayout layout = new LinearLayout(this);
layout.setId(i);
Button text = new Button(this);
text.setText(f.getName());
text.setMinWidth(400);
layout.addView(text);
root.addView(layout);
i++;
}
catch(Exception e){}
}
}
LinearLayout layout = new LinearLayout(this);
HorizontalScrollView scroll = new HorizontalScrollView(this);
scroll.addView(root);
layout.addView(scroll);
setContentView(layout);
(申し訳ありませんが、私はテストができませんでした... ) ( "android.app。"、 "android.os。"、 "android.widget。"、android.view。 "、" android.view.View。 "、" java.io.私はこれが既に回答されていますが、私は、それは別の、間違いなくシンプルなオプションを欠けて気づいた。だから私は今後の参考のためにそれを含めています。
File myDirectory = new File("path to some directory");
File[] directories = myDirectory.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
このコードは、あなたがfor
を使用する必要がなくなります知っ「
ループ。
これは、Javaの8の場合に特に役に立ちます: 'File directories [] = new File(some/path")listFiles File :: isDirectory); ' – iamai
ありがとう、働いて!:) – Roger