【发布时间】:2020-01-03 09:50:50
【问题描述】:
我想在 "Ocenki" 文件夹中创建一个 txt 文件
我写了一段代码,应该写入stringbuffer文件:
try {
FileOutputStream write = new FileOutputStream(
new File(
context.getFilesDir()
+ File.separator + "Ocenki"
+ File.separator + url + ".txt")
);
String temp_write = stringBuffer.toString();
write.write(temp_write.getBytes());
write.close();
} catch (FileNotFoundException p) {
p.printStackTrace();
} catch (IOException a) {
a.printStackTrace();
}
方法context.getFilesDir()返回:"/data/user/0/com.example.kos/files"
变量url 包含:"2019 - 2020"
代码出现错误:
FileNotFoundException
"java.io.FileNotFoundException: /data/user/0/com.example.kos/files/2019 - 2020.txt
(No such file or directory)"
我做错了什么?
更新:
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kos"
android:versionCode="2"
android:versionName="1.1.1">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
...
</manifest>
这是一个权限请求:
if(ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions((Activity) context,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},3);
if(ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions((Activity) context,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},3);
【问题讨论】:
-
您是否添加了读写存储权限?
-
"FileNotFoundException "java.io.FileNotFoundException: /data/user/0/com.example.kos/files/url (No such file or directory)", 这是否完全从跟踪中复制而来。我认为堆栈跟踪应该有“/data/user/0/com.example.kos/files/Ocenki/2019 - 2020.txt”
-
如果
context.getFilesDir()返回"/data/user/0/com.example.kos/files",url是一个变量,它的值为"2019 - 2020",那为什么你的代码会尝试访问(子)目录"/data/user/0/com.example.kos/files/url"?它存在吗?你不想要"/data/user/0/com.example.kos/files/2019 - 2020"吗? -
你的txt文件名是什么?
-
Rohit5k2,谢谢,它解决了我的问题
标签: java android file android-studio filenotfoundexception