3 回答
TA贡献1775条经验 获得超8个赞
如果您创建一个包装顶级目录的File对象,您可以调用它的mkdirs()方法来构建所有需要的目录。就像是:
// create a File object for the parent directory
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
File outputFile = new File(wallpaperDirectory, filename);
// now attach the OutputStream to the file object, instead of a String representation
FileOutputStream fos = new FileOutputStream(outputFile);
注意:使用Environment.getExternalStorageDirectory()来获取“SD卡”目录可能是明智之举,因为如果手机出现了除SD卡以外的其他东西(例如内置闪存,则可能会更改)苹果手机)。无论哪种方式,您都应该记住,您需要检查以确保它实际存在,因为可能会移除SD卡。
更新:自API级别4(1.6)起,您还必须请求许可。这样的事情(在清单中)应该有效:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
TA贡献2039条经验 获得超7个赞
这对我有用。
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
在你的清单和下面的代码中
public static boolean createDirIfNotExists(String path) { boolean ret = true; File file = new File(Environment.getExternalStorageDirectory(), path); if (!file.exists()) { if (!file.mkdirs()) { Log.e("TravellerLog :: ", "Problem creating Image folder"); ret = false; } } return ret;}
- 3 回答
- 0 关注
- 513 浏览
添加回答
举报