本人给你写入权限和读取权限,运行完成后用Monitor查看并没有创建文件 .
10
if (!file.exists()) {
try {
//按照指定的路径创建文件夹
file.mkdirs();
} catch (Exception e) {
// TODO: handle exception
}
}
File dir = new File(filenameTemp);
if (!dir.exists()) {
try {
//在指定的文件夹中创建文件
dir.createNewFile();
} catch (Exception e) {
}
}
这样试试
20
这句有问题, 路径重复了。
改为下面这句试下:
Environment.getExternalStorageDirectory() + File.separator + “Text.txt”
///
5
第二,路径错误,如楼上所言。
65
额,是这样的.
android的官方文档上说,采用Enviroment.getExternalStorageDirectory()方法可以得到android设备的外置存储(即外插SDCARD),假如android设备有外插SDCARD的话就返回外插SDCARD的根目录路径,假如android设备没有外插SDCARD的话就返回android设备的内置SDCARD的路径。但是只有原生的android系统才使用这套方案,被更改过的anroid体统很多设备的路径都改了。
主要原因还是现在的Andorid厂商太多,本人的系统,改的也多,所以这个SDcard地址不确定,但是代码上还是用Enviroment.getExternalStorageDirectory()获取。
调用Environment.getExternalStorageDirectory(),返回的存储目录并不是系统内置的SD卡目录。
1.一部分手机将eMMC存储挂载到 /mnt/external_sd 、/mnt/sdcard2 等节点,而将外置的SD卡挂载到Environment.getExternalStorageDirectory()这个结点。
此时,调用Environment.getExternalStorageDirectory(),则返回外置的SD的路径。
2.而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory()这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2 等节点。
鉴于你说创建的是自带的内存地址==可能是内置存储卡的地址,SDCard的话,暂时没有好的通用方法。
附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