Android SD卡创建文件和文件夹失败
时间: 2023-11-10 18:14:39 浏览: 79
在 Android 中,如果你想在 SD 卡上创建文件和文件夹,需要先获取 SD 卡的读写权限。这可以在 AndroidManifest.xml 文件中添加以下权限来实现:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
然后,你可以使用以下代码创建文件和文件夹:
创建文件夹:
```java
File folder = new File(Environment.getExternalStorageDirectory() + "/your_folder_name");
if(!folder.exists()){
folder.mkdir();
}
```
创建文件:
```java
File file = new File(Environment.getExternalStorageDirectory() + "/your_folder_name", "your_file_name");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
```
如果你仍然遇到问题,可以检查 SD 卡是否已经挂载,并且确保你的应用程序具有正确的权限来访问 SD 卡。
相关问题
android 创建写入txt文件 到SD卡
你可以使用以下代码创建并写入文本文件到SD卡中:
```
try {
File file = new File(Environment.getExternalStorageDirectory(), "filename.txt");
FileWriter writer = new FileWriter(file);
writer.append("Text content to write in file");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
```
在代码中,我们在SD卡根目录下创建一个名为"filename.txt"的文件,并在其中写入文本内容,你可以根据自己的需要修改文件路径以及文件名。
Android 删除SD卡文件
在Android中,删除SD卡上的文件可以通过以下方式实现:
1. 获取SD卡上文件的File对象,例如:
```
File file = new File(Environment.getExternalStorageDirectory(), "your_file_name");
```
2. 判断文件是否存在,如果存在则调用delete()方法删除文件,例如:
```
if (file.exists()) {
file.delete();
}
```
需要注意的是,如果文件正在被其他应用程序使用,删除文件可能会失败。此外,删除文件时需要动态申请存储权限。完整的代码示例如下:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
File file = new File(Environment.getExternalStorageDirectory(), "your_file_name");
if (file.exists()) {
file.delete();
Toast.makeText(this, "文件删除成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "文件不存在", Toast.LENGTH_SHORT).show();
}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
```
在此示例中,我们首先检查应用程序是否已被授予WRITE_EXTERNAL_STORAGE权限。如果是,则尝试删除文件;否则,请求权限并等待用户响应。