我试图在android中写入文件,但一直出现以下错误:
java.io.FileNotFoundException: /storage/emulated/0/Notes/TestFile.txt(权限拒绝)
搜索此网站可以简单地解决此问题,即向应用程序清单文件添加WRITE\u EXTERNAL\u存储,但这对我不起作用。我一直在犯同样的错误。
try {
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, "TestFile.txt");
FileWriter writer = new FileWriter(gpxfile);
writer.append("Hello World");
writer.flush();
writer.close();
Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
修复了它,我必须在我写入文件的地方使用此代码请求权限:
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
1);
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);
在按钮单击函数中写入文件的完整代码如下所示:
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
1);
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);
try {
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, "TestFile.txt");
FileWriter writer = new FileWriter(gpxfile);
writer.append("Hello World");
writer.flush();
writer.close();
Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
如果目标sdk等于或大于mashmallow版本,则必须请求运行时权限
你可以在这里查看
https://developer.android.com/training/permissions/requesting
您在AndroidManifest.xml
中提到了权限,但尚未从用户授予。您需要通过Android
活动中的用户授予WRITE_EXTERNAL_STORAGE
权限。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
下次启动active
时,授予它权限,然后您可以访问外部存储。请注意,这将只授予写访问权限,而不是读访问权限。
问题内容: 我正在尝试使用Python在Windows OS上创建并写入一个临时文件。我已经使用Python模块创建了一个临时文件。 但是当我去写那个临时文件的时候我得到了一个错误。我不可以写临时文件吗?难道我做错了什么?如果要创建并写入临时文件,应该如何在Python中进行操作?为了安全起见,我想在temp目录中创建一个临时文件,而不是在本地(在.exe正在执行的目录中)中创建一个临时文件。 问
我试图用docker运行一个简单的命令,读取我的主目录中的文件,并在本地机器上的同一目录中写入输出文件(
在android studio中运行应用程序时,我遇到了权限被拒绝的问题。在此之前,我需要声明,我的队友可以运行代码并弹出数据,但我,我们都使用相同的代码和版本,但我使用的是mac,他们使用的是win系统。 以下是logcat信息: 下面是AndroidMainfest文件:For tools sLtaretApi="31"我尝试删除并运行没有任何更改 有人能给我一些解决这个问题的建议吗?感谢任何
我添加了使用权限,包括WRITE_EXTERNAL_STORAGE,android.permission.相机,READ_EXTERNAL_STORAGEAndroidManifest.xml. 当我在Nexus6(API 24)中运行我的应用程序时,它向我抛出了以下错误: java.io.IOException:权限被拒绝 这是我的代码: 如何在权限相机运行时打开之前使用它?
正如您从标题中注意到的,我在Android中将文件写入SD卡时遇到了问题。我检查了这个问题,但它对我没有帮助。我想在SD卡上的公共空间中编写文件,以便任何其他应用程序都可以读取它。 首先,我检查SD卡是否已安装: 然后,我运行以下代码: 我有: 在我的AndroidManifest中。xml。 确切的错误是: 我正在模拟器上测试我的代码(模拟Nexus5 API 23)。我所需的最低SDK版本是1
同时运行docker的服务 YML文件: DockerFile: 来自rabbitmq:3-management-alpine 抄袭/配置/ampq/devhost 我使用了这个命令:docker-compose-fdocker-compose.yml--build ampq 请帮我解决这个问题