Java 我能';t在项目内部目录中创建文件夹
我想在Java 我能';t在项目内部目录中创建文件夹,java,android,file,android-studio,filenotfoundexception,Java,Android,File,Android Studio,Filenotfoundexception,我想在“Ocenki”文件夹中创建一个txt文件 我编写了一段应该写入stringbuffer文件的代码: try { FileOutputStream write = new FileOutputStream( new File( context.getFilesDir() + File.separator + "Ocenki" + File.separator + url + ".txt")
“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)"
我做错了什么
UPD:
显示
<?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>
给你
try{
System.out.println("File Path = " + MainApplication.getFileDirectory() + "/Ocenki" + "/" + fileName);
File fileCreated = new File(MainApplication.getFileDirectory() + "/Ocenki" + "/" + fileName);
if (fileCreated.exists()) {
fileCreated.delete();
}
outputStream = new FileOutputStream(MainApplication.getFileDirectory() + "/Ocenki" + "/" + fileName);
byte[] buffer = new byte[1024];
int read;
while ((read = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, read);
}
//inputStream.close();
outputStream.flush();
outputStream.close();
}catch (IOException io){
io.printStackTrace();
}
public static File getFileDirectory() {
return filesDir;
}
因为我在应用程序类中使用了这个类,所以您可以基于它的上下文在任何类上使用这个方法
filesDir = MainApplication.this.getFilesDir();
您添加了读写存储权限吗?“FileNotFoundException”java.io.FileNotFoundException:/data/user/0/com.example.kos/files/url(没有这样的文件或目录)”,这完全是从跟踪中复制的。我认为堆栈跟踪应该有“/data/user/0/com.example.kos/files/Ocenki/2019-2020.txt”If
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,谢谢,它解决了我的问题。请将文件名传递给此方法。”
filesDir = MainApplication.this.getFilesDir();