如何在SD卡上自动创建目录

如何在SD卡上自动创建目录

我正在尝试将我的文件保存到以下位置,
FileOutputStream fos = new FileOutputStream("/sdcard/Wallpaper/"+fileName); 但是我得到了异常java.io.FileNotFoundException
但是,当我把路径保存"/sdcard/"起来的时候。

现在我假设我无法以这种方式自动创建目录。

有人可以建议如何创建directory and sub-directory使用代码吗?


白衣非少年
浏览 514回答 3
3回答

www说

如果您创建一个包装顶级目录的File对象,您可以调用它的mkdirs()方法来构建所有需要的目录。就像是:// create a File object for the parent directoryFile wallpaperDirectory = new File("/sdcard/Wallpaper/");// have the object build the directory structure, if needed.wallpaperDirectory.mkdirs();// create a File object for the output fileFile outputFile = new File(wallpaperDirectory, filename);// now attach the OutputStream to the file object, instead of a String representationFileOutputStream fos = new FileOutputStream(outputFile);注意:使用Environment.getExternalStorageDirectory()来获取“SD卡”目录可能是明智之举,因为如果手机出现了除SD卡以外的其他东西(例如内置闪存,则可能会更改)苹果手机)。无论哪种方式,您都应该记住,您需要检查以确保它实际存在,因为可能会移除SD卡。更新:自API级别4(1.6)起,您还必须请求许可。这样的事情(在清单中)应该有效:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

largeQ

这对我有用。&nbsp;uses-permission&nbsp;android:name="android.permission.WRITE_EXTERNAL_STORAGE"在你的清单和下面的代码中public&nbsp;static&nbsp;boolean&nbsp;createDirIfNotExists(String&nbsp;path)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;ret&nbsp;=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;file&nbsp;=&nbsp;new&nbsp;File(Environment.getExternalStorageDirectory(),&nbsp;path); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!file.exists())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!file.mkdirs())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.e("TravellerLog&nbsp;::&nbsp;",&nbsp;"Problem&nbsp;creating&nbsp;Image&nbsp;folder"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ret;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android