我正在使用Android Emulator 2.2版本来开发一个小应用程序。我应该列出目录下的所有图像文件(jpg)文件。我通过ADB puash命令将文件复制到“/ data”。
示例:/data/1.jpg
现在我创建一个File对象,将目录路径作为输入并调用listFiles api。
File dir = new File(dirPath);
File[] filelist = dir.listFiles();
但是fileList不包含图像文件(1.jpg)。
但奇怪的是,如果我使用硬编码路径“/data/1.jpg”创建一个ImageView,我可以看到图像被绘制。
有人可以帮助我......可能是问题所在
谢谢, Kowndinya
public int PopulateList(final String dirPath)
{
m_CurrentDirectory = new File(dirPath);
_namelist.clear();
_pathlist.clear();
File[] fileList = m_CurrentDirectory.listFiles(imFilter);
if (fileList != null)
{
for ( int i = 0;i<fileList.length;i++)
{
_namelist.addElement(fileList[i].getName());
_pathlist.addElement(fileList[i].getAbsolutePath());
}
}
notifyDataSetChanged();
return 0;
}
imFilter是一个filenamefilter,只接受jpg扩展名的文件。但是如果我在imFilter代码中设置断点,则断点不会发生事件。
Output of adb shell ls -l /data:
------------------------------------
drwxrwx--t system misc 2010-08-05 15:32 misc
drwxrwx--x shell shell 2010-08-05 15:32 local
drwxrwx--x system system 2010-08-05 15:32 app-private
drwx------ system system 2010-08-05 15:34 backup
drwx------ root root 2010-08-05 15:34 property
drwxrwx--x system system 2010-08-05 15:35 data
-rw-rw-rw- root root 75752 2010-03-30 12:26 zona_ind_012.jpg
drwxrwx--x system system 2010-08-05 16:16 app
drwxr-x--- root log 2010-08-05 15:32 dontpanic
drwxrwx--x system system 2010-08-05 16:25 dalvik-cache
drwxrwxr-x system system 2010-08-05 17:16 system
drwxrwx--- root root 2010-08-05 15:32 lost+found
答案 0 :(得分:3)
我探索了那段代码,并且看到,麻烦是允许的。正如您在下面看到的,您无法读取该目录。找另一个目录来收集您的文件。
**Can read dir:**
/dev =true
/root =false
/data =false
/default.prop =true
/init =false
/init.rc =false
/proc =true
/sbin =false
/sys =true
/system =true
/etc =true
/d =false
/mnt =true
/acct =true
/sdcard =true
/cache =false
/config =false
您可以从“ls -l”命令中看到。 explain what does mean