File mediaDir = new File("media");
if (!mediaDir.exists()){
mediaDir.createNewFile();
mediaDir.mkdir();
}
File f = new File("/data/data/com.test.image/files/media/Voucher.jpg");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
fos.write(b);
fos.close();
尝试在手机内存中写入文件,但会引发错误: java.io.IOException:只读文件系统
答案 0 :(得分:2)
猜测/数据/数据不是外部存储。您需要具有root权限才能写入/ data目录。请参阅Data directory has no read/write permission in Android
答案 1 :(得分:0)
使用 mediaDir.mkdirs(); 代替 mediaDir.mkdir(); ,您还必须 WRITE_EXTERNAL_STORAGE 权限
答案 2 :(得分:0)
您正在Android系统的根目录中创建没有应用程序的文件。
要创建特定于您的应用程序的目录,请使用getDir(String dirName, int mode)而不是new File("media")
。通过仅调用,您可以创建媒体目录并使用它。
无需在上面的代码中执行此类操作。也不需要在清单中给予任何许可。
答案 3 :(得分:0)