Java android应用程序写入文本文件
我有一个Android Java应用程序,我正在尝试创建一个文件并在其中写入内容:Java android应用程序写入文本文件,java,android,filewriter,Java,Android,Filewriter,我有一个Android Java应用程序,我正在尝试创建一个文件并在其中写入内容: try { File file = new File( "/storage/emulated/0/text.txt" ); file.createNewFile(); FileWriter fwr = new FileWriter( file ); fwr.write( "something" ); fwr.close();
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()代码>
给我以下错误:
open失败:enoint(没有这样的文件或目录)
可能是因为我没有权利在那里写作。我做错了什么?我在哪里有权创建文件?我不希望该文件成为应用程序的一部分,例如属性文件。我希望我的文件是独立的,并且在用户的主目录中
编辑:当我试图像这样打开电影目录中的文件时:file file file=new file(Environment.getExternalStoragePublicDirectory(Environment.directory_Movies)+“/movielist.txt”)
我收到以下错误:打开失败:EACCESS:权限被拒绝
如果要在用户的外部内存中创建文件。然后你必须在清单中获得这个权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
试试这个
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
File root = Environment.getExternalStorageDirectory();
File file= new File (root.getAbsolutePath());
try {
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.println("Hi , How are you");
pw.println("Hello");
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* File not found. Did you" +
" add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
} catch (IOException e) {
e.printStackTrace();
}