【发布时间】:2013-06-05 10:03:25
【问题描述】:
我使用了一个文件:
FileOutputStream fos = app.openFileOutput("FileOne.txt", Context.MODE_APPEND);
稍后在同一个程序中,我尝试使用以下命令打开此文件:
PrintWriter writer = new PrintWriter(context.getFileStreamPath("FileOne.txt"));
但这样做会在 LogCat 中给出此异常:
06-05 09:49:32.230: D/error155 java.lang.RuntimeException: File not found(7707): [ 06-05 09:49:32.240 7707: 7736 D/ java.io.FileNotFoundException: /FileOne.txt: open failed: EROFS (Read-only file)
我检查了内部存储,文件确实存在。如何正确打开文件?
【问题讨论】:
-
你把错误信息读到最后了吗?该文件是 ro
-
或者为什么
FileAPI 很烂。如果您使用 Java 7,请帮自己一个忙并使用新的FilesAPI。FileNotFoundException如果文件存在但您没有尝试执行操作的必要凭据,也会抛出此错误! -
首先通过简单的方式检查文件 File file = new File(path);文件已存在();可能是您提供的路径不同。还要检查 file.read() 和 file.write() 权限
-
为什么不为文件定义一个路径并使用该路径打开它?
-
@fge - 操作系统在标签中指定,最终比语言是 Java 更重要。 java.nio.files 不可用。