我正在尝试将文件写入SDCard,但我在logcat中收到错误:
01-24 09:03:33.647: W/System.err(3353): java.io.FileNotFoundException: /mnt/sdcard/fun/itisfun.txt: open failed: EACCES (Permission denied)
01-24 08:24:28.007: W/System.err(3353): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
01-24 09:03:33.756: W/System.err(3353):at libcore.io.Posix.open(Native Method)
Run Code Online (Sandbox Code Playgroud)
在这里我的代码写入SDCard:
File root = null;
try {
// check for SDcard
root = Environment.getExternalStorageDirectory();
Log.i(TAG,"path.." +root.getAbsolutePath());
//check sdcard permission
if (root.canWrite()){
File fileDir = new File(root.getAbsolutePath()+"/fun/");
fileDir.mkdirs();
File file = new File(fileDir, "itisfun.txt");
FileWriter filewriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(filewriter);
out.write("I m enjoying......dude");
out.close();
}
} catch(...) {
...
} …Run Code Online (Sandbox Code Playgroud) 我试图从我的sqlite数据库中获取数据并将其写入csv文件并在完成写入时通过电子邮件发送信息.在数据库中只有一个包含3列的表.我有DBAdapter和一个具有用户必须按下的按钮的类能够导出数据.
这是我尝试过Exportdata.java的代码
try {
root = Environment.getExternalStorageDirectory();
Log.i(TAG,"path.." +root.getAbsolutePath());
//check sdcard permission
if (root.canWrite()) {
File fileDir = new File(root.getAbsolutePath()+"/fun/");
fileDir.mkdirs();
// Log.d("DATABASE", db.getAllBYname());
File file= new File(fileDir, "itisfun.csv");
FileWriter filewriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(filewriter);
out.write("I m enjoying......dude..............." );
out.close();
}
} catch (IOException e) {
Log.e("ERROR:---", "Could not write file to SDCard" + e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
这段代码确实在SD卡中创建了文件,但问题是我不能把它带到sqlite数据库数据并将其写入文件中,如code.im上所示卡住请帮助我举例或用正确的解决方案编辑我的代码.