这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:
此外,如果您的设备使用了Android 6.0或更高版本,还需要在运行时请求同意该权限。您可以添加以下代码来实现:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}
在此代码中,您需要将REQUEST_CODE设置为您希望接收运行时权限结果的代码。
一旦您获得了适当的权限,您就可以使用以下代码来访问并保存文件:
File file = new File("/storage/emulated/0/filename.txt");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
String data = "This is the content of the file.";
fos.write(data.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
请注意,在Android 10及更高版本中,您需要适当的权限才能访问外部存储。您可以使用以下代码来请求“MANAGE_EXTERNAL_STORAGE”权限并检查应用程序是否获得了正确的权限:
if (Environment.isExternalStorageManager()) {
// perform read/write operations
} else {
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(String.format("package:%s", getApplicationContext().getPackageName())));
startActivity(intent);
}
请注意,上述代码将打开应用的设置页面,并允许用户授予“MANAGE_EXTERNAL_STORAGE”权限。