我已经经历过关于SDcard文件写入问题的多个线程,但是看不出能帮到我的答案。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在我的节点清单中。
2.以下代码创建一个文件但不写入它。 Writer永远不会抛出异常。当我回到SDCard并看到创建的文件是0 kb。 (这是由于创造新的功能)
3. SDCard显示使用这些权限创建的文件---- rwxr-x(写不存在其他人)
4.仿真器或设备上的行为是相同的华硕垫或Acer Iconia设备。
应用程序在Android应用程序中使用SDCard上的内容创建文件的常规方式是什么?
if(isExternalStorageWritable()) {
File testFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),Filename);
try {
if (testFile.createNewFile()) {
Log.i(TAG + ": createSdcardFile","Empty file on external storage created");
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
openFileOutput(Filename, MODE_APPEND)));
out.write(Content);
out.close();
Log.i(TAG + ": createSdcardFile","Content to new file created");
created = true;
}
} catch(IOException e) {
Log.e(TAG,"Unable to create/write to new file on external storage. Terminating testCDMReadPositive");
Log.e(TAG,e.getMessage());
}
}
4.使用模式 MODE_WORLD_WRITABLE 给出相同的结果,即SDCard上的0kb文件
5.具有在externalstorage(/ mnt / sdcard)上编写文件经验的任何人都知道如何执行此操作。任何帮助或方向,高度赞赏。谢谢
答案 0 :(得分:1)
也许是一个愚蠢的建议,但你在新的运行之前删除了旧的测试文件吗?因为if
子句会阻止写入文件(如果文件已经存在)。