我有一个 Android Java 应用程序,我正在尝试创建一个文件并向其中写入一些内容:
try {
File file = new File( "/storage/emulated/0/text.txt" );
file.createNewFile();
FileWriter fwr = new FileWriter( file );
fwr.write( "something" );
fwr.close();
} catch( Exception e ) {
e.printStackTrace();
}
当我运行应用程序时,这一行:
file.createNewFile();
给我以下错误:
打开失败:ENOENT(没有这样的文件或目录)
可能是因为我没有权利在那里写作。我究竟做错了什么?我在哪里有权创建文件?我不希望该文件成为应用程序的一部分,例如属性文件。我希望我的文件是独立的,并且位于用户的主目录中。
编辑:当我尝试打开电影目录中的文件时,如下所示:File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES) + "/movielist.txt");
I收到此错误:打开失败:EACCESS:权限被拒绝
最佳答案
如果您想在用户的外部存储器中创建一个文件。然后你必须在 list 中获得此权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
然后获取像这样的代码 fragment 的路径
FileOutputStream fos;
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
String FILENAME =path + "/External"; // External is the text file name
String text = "Hello I am in External!"; // text inside the file
fos=new FileOutputStream(FILENAME);
fos.write(text.getBytes());
fos.close();
关于java - Android应用程序写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27631082/