首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Studio -只读文件系统?

Android Studio -只读文件系统?
EN

Stack Overflow用户
提问于 2017-06-03 11:32:34
回答 0查看 8K关注 0票数 0

我正在尝试将一个文件写入我的手机(以及将来用户的手机)的内部设备存储中。我在看2016年的视频教程(https://www.youtube.com/watch?v=EhBBWVydcH8),其中展示了他如何非常简单地将输出写入文件。如果你想看他的代码,跳到8:23。

无论如何,我基本上尝试了他的代码,然后由于它不起作用,我想我会搜索周围。

显然,要创建一个文件,我需要以下几行代码:

代码语言:javascript
复制
String filename = "textfile.txt";
File file = new File(filename);

file.mkdirs();
file.createNewFile();

在第二行file.createNewFile()上,我得到了下面的错误:

代码语言:javascript
复制
java.io.IOException: Read-only file system
  at java.io.UnixFileSystem.createFileExclusivel
  at java.io.UnixFileSystem.createFileExclusivel
  at java.io.File.createNewFile(File.java:948)
  etc......

然后,如果我仅仅使用本教程中的代码行来运行我的代码,我会得到一个空指针。

代码:

代码语言:javascript
复制
          try {
            FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE);
            fos.write(IDNum.getBytes());
            fos.close();
            System.out.println("Wrote STuff Outputtt?");
        } catch (Exception e) {
            e.printStackTrace();
        }

错误:

代码语言:javascript
复制
java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference
  at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:199)
  at com.lecconnect.lockoutdemo.FileManager.AddUser(FileManager.java:37)

第37行是try/catch中的第一行。

如果您需要任何其他信息来帮助我,请让我知道。非常感谢您的回复。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44339963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档