我正在尝试使用FileWriter在手机的SD卡根目录中创建/写入文本文件,但该文件未创建(/ root / sdcard)
使用getExternalStorageDirectory()进行了尝试,但是它不起作用。我还将其添加到了我的清单文件中,而不是application标签:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
这是我编写/创建文件的代码:
private void writeToFile(String content) {
try {
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter writer = new FileWriter(file);
writer.append(content);
writer.flush();
writer.close();
} catch (IOException e) {
}
}
我希望在SD卡的目录中创建文件“ test.txt”,但是什么也没有发生。也没有错误,只是不想创建文件。
答案 0 :(得分:0)
通过在活动onCreate方法中调用以下内容来解决:
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}