如何列出目录中的文件?

时间:2011-11-12 23:22:21

标签: android arrays load spinner

我是Android开发的新手,所以如果这是一件容易的事,请原谅我。

我想获取SD卡上目录中的所有文件并将其显示在微调器中,但我无法解决问题。 这就是我所拥有的,我甚至不知道它是否有任何好处。

//creates this directory if its not there??     
File sd = new File("/sdcard/myfolder");

                 //gets a list of the files
                 File[] sdDirList = sd.listFiles(); 

                 //add them to the spinner array (this makes it crash)
                 for(int i=0;i<sdDirList.length;i++) 
                 array_spinnerLoad[i] = sdDirList[i].getName();

所以我哪里错了? 任何有用的教程链接到任何地方的易用教程? 它不一定是一个微调器,只是一些我可以从

中选择的列表 谢谢你:)

编辑: 它没有崩溃,但旋转器阵列没有填充

File[] sdDirList = sd.listFiles(); 
             if (sdDirList != null)
             {
                 array_spinnerLoad=new String[sdDirList.length];

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

             array_spinnerLoad[i] = sdDirList[i].getName();
         }

1 个答案:

答案 0 :(得分:4)

如果/sdcard/myfolder不存在或不是目录,则listFiles会返回null。你可能正在崩溃NPE。您可以使用exists()isDirectory()来诊断错误。 (另外,您可以测试sdDirList != null。)

P.S。它可以帮助您获得更准确的答案,以发布有关崩溃的详细信息 - 例如异常。