我想在SD卡的一个目录中创建一个文件(目录和文件都未创建)。
如何实现?
谢谢。
谢谢。
尝试下面的示例:
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//handle case of no SDCARD present
} else {
String dir = Environment.getExternalStorageDirectory()+File.separator+"myDirectory";
//create folder
File folder = new File(dir); //folder name
folder.mkdirs();
//create file
File file = new File(dir, "filename.extension");
}
别忘了在 AndroidManifest 中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
使用这个:
DocumentFile tempDir = DocumentFile.fromSingleUri(context,targetDirectoryUri);
DocumentFile newDocumentFile = tempDir.createFile(type,name);
"targetDirectoryUri"是您想要将文件放入其中的目录的URI。 这是唯一的解决方案! 在API 19之后,您无法在SD卡上写入文件,因此必须使用DocumentFile而不是File。 此外,您还必须获取SD卡权限。要了解如何执行此操作并获取“targetDirectoryUri”,请阅读此页面。
您还需要添加写入外部媒体的权限。在应用程序清单文件中,在<manifest>标签之间的某个位置添加以下行,但不要放在<application>标签内:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
你可以在 Kotlin 中使用
val file = File( this.getExternalFilesDir(null)?.getAbsolutePath(),"/your_image_path")
if (!file.exists()) {
file.mkdir()
}
不要忘记授权
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />