为什么下面代码,不能实现输出目标目录下的文件名字啊。
File file = new File("mnt/sdcard"); String[] names = file.list(); for(String temp:names){ System.out.println(temp); }
names 是一个 null
加过权限
<uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE”/>
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE”/>
解决方案
13
目录不存在……
获取sd卡目录不要用这个固定的,每个手机都不一样的。用Environment.getExternalStorageDirectory()
获取sd卡目录不要用这个固定的,每个手机都不一样的。用Environment.getExternalStorageDirectory()
12
确实,针对楼上的,SD卡的位置不要写死,原因是原因是不同厂商对不同的SD卡名称不同。android常见的SD卡存储位置
/storage/emulated/0/
/storage/extSdCard
/mnt/external_sd/
/mnt/sdcard2/
/mnt/sdcard/external_sd/
/mnt/sdcard-ext/
/mnt/sdcard/
/storage/sdcard0/
/mnt/extSdCard/
/mnt/extsd/
/mnt/emmc/
/mnt/extern_sd/
/mnt/ext_sd/
/mnt/ext_card/
/mnt/_ExternalSD/
/sdcard2/
/sdcard/
/sdcard/sd/
/sdcard/external_sd/
/mnt/sd/
/mnt/
/storage/
/mnt/sdcard/sd/
/mnt/exsdcard/
/mnt/sdcard/extStorages/SdCard/
/ext_card/
/storage/extSdCard
5
File file = new File(“mnt/sdcard”);
改成
File file = new File(“/mnt/sdcard”);假如你的sd卡是在这个目录下的话
少一个“/”的意义就不一样的,不带”/”是从当前目录开始,带的话就是从根目录开始了。
改成
File file = new File(“/mnt/sdcard”);假如你的sd卡是在这个目录下的话
少一个“/”的意义就不一样的,不带”/”是从当前目录开始,带的话就是从根目录开始了。