gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:53:40 27 4
gpt4 key购买 nike

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

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

有人可以建议如何使用代码创建目录和子目录

最佳答案

如果您创建一个 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 卡以外的其他东西的手机(例如内置闪存,a'la iPhone),这可能会改变。无论哪种方式,您都应该记住,您需要检查以确保它确实存在,因为 SD 卡可能会被移除。

更新:由于 API 级别 4 (1.6),您还必须请求权限。像这样(在 list 中)应该可以工作:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

关于android - 如何在 SD 卡上自动创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com