这一行:
final FileOutputStream outputStream = new FileOutputStream(name);
结果是FileNotFoundException
,错误消息为/2ozjfFQzwv: open failed: EROFS (Read-only file system)
,其中"2ozjfFQzwv"是我作为文件名传递的参数。
我已经尝试过具有和不具有WRITE_INTERNAL_STORAGE
权限的情况。如何创建这个可写文件?
或者,我只想能够将图像传递给新活动,并且它太大了,无法在额外操作中进行序列化。是否有比先将其写入文件然后再次读取更简单的方法?所有问题似乎都是关于写入SD卡的,但我不想这样做,因为很多人没有SD卡插槽。
new BufferedWriter(new FileWriter(getFilesDir() + FILENAME));
可以翻译为“创建一个新的BufferedWriter对象,并将其与通过getFilesDir()方法获取的文件路径和FILENAME变量所代表的文件名拼接后的完整路径相关联”。 - Owen BgetExternalFilesDir
将优先考虑可移动存储,但是在API 21+中,Environment.isExternalStorageEmulated(File)
可以确定它是否仅是单独内部分区的挂载点。 - Abandoned Cart