[ERLEDIGT] Mehrere Verzeichnisse abfragen

N

N3cron

Fortgeschrittenes Mitglied
1
Hallo. Frage, wie kann ich zb 5 Verzeichnisse abfragen und diese files darin mir auflisten lassen. Mein bisheriger Code sieht wie folgt aus, leider nur mit 1 Verzeichnis

if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {

final File file = new File(Environment.getExternalStorageDirectory() + "/Download/test/test1");

hier brauche ich aber noch /test2, /test3. Kann man das irgenwie anhängen?
Beispiel was nicht funktioniert

final File file = new File(Environment.getExternalStorageDirectory() + "/Download/test/test1 + /Download/test/test2");


if (file.isDirectory()) {

final File list[] = file.listFiles();

for (int i = 0; i < list.length; i++) {

final List<String> fullfilename = (Arrays.asList(list.getName().split("!")));
final List<String> myListss = (Arrays.asList(list.getName().split("\\.jpg")));

name = fullfilename.get(0);
first = myListss.get(0);


Danke für Hilfe
 
Hallo n3cron,

final File file = new File(Environment.getExternalStorageDirectory() + "/Download/test/test1 + /Download/test/test2");

das kann so nicht funktionieren ...
Du musst jeden einzelnen Unterpfad scannen , oder recursiv arbeiten

Bsp :
list all files in the folder and also sub folders
[doublepost=1499026263,1499026034][/doublepost]So mache ich es in meinem Code
Code:
 ////////////////////////////////////////////////////////////
    private class _async_scanforfiles extends AsyncTask<Void, Void, Void> {

        private String mExtension = "";

        public _async_scanforfiles(String extension)
        {

            mExtension = extension;
            mFileFoundList.clear();
        }

        @Override
        protected Void doInBackground(Void... params)
        {
            recursiveScan(new File(getInternalStorage()));
            recursiveScan(new File(getExternalStorage()));
            return null;
        }


        @Override
        protected void onPostExecute(Void d)
        {
            super.onPostExecute(d);
            if ( onStatusListener != null) onStatusListener.onFoundFiles(mFileFoundList);
        }


        public void recursiveScan(File f)
        {
            try
            {
                File[] file = f.listFiles();
                for (File ff : file)
                {
                    if (ff.isDirectory())
                    {
                        //Log.d("_ITE","SCAN DIR : "+ ff.getName());
                        recursiveScan(ff);
                    }
                    if (ff.isFile() && ff.getName().endsWith(mExtension))
                    {
                        //Log.d("_ITE", ff.getAbsolutePath());
                        mFileFoundList.add(ff.getAbsolutePath());

                    }

                }
            } catch (NullPointerException e) {

            }

        }

    }
 
Zuletzt bearbeitet:
Ok. Dann vielen Dank. Hatte jetzt gedacht es geht einfacher und man kann es irgendwie anhängen.

Danke
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
127
swa00
swa00
B
Antworten
3
Aufrufe
1.307
swa00
swa00
S
  • SlayNox
Antworten
1
Aufrufe
634
swa00
swa00
Zurück
Oben Unten