我正在尝试将文件写入手机(以及未来用户手机上)的内部设备存储器中。我正在观看2016年的视频教程(https://www.youtube.com/watch?v=EhBBWVydcH8),它显示了他如何将输出写入文件非常简单。如果你想看他的代码,请跳到8:23。Android Studio - 只读文件系统?

无论如何,我基本上试过他的代码,然后既然没有工作,我想四处搜寻。

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

String filename = "textfile.txt";

File file = new File(filename);

file.mkdirs();

file.createNewFile();

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

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......

而且那么,如果我只是使用教程中的代码行来运行我的代码,那么我会得到一个空指针。

代码:

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();

}

错误:

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语句的第一行。

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

2017-06-03

FoxDonut

+0

你'FileManager'类显然延伸的类,你不应该用'new'被实例化;像“活动”或“服务”。我假设你这样做,以便'openFileOutput()'可以解决。你不能那样做,因为最终调用的'Context'将会是null,就像你在trace中看到的一样。如果你想把这个方法保存在一个单独的类中,可以在'AddUser()'中添加一个'Context'参数,并从'Activity','Service'等等中传入一个参数。我还应该提到'openFileOutput() '在应用的私人内部存储器中打开文件,这可能不是您所期望的。 –

+0

@MikeM。我通过解析“openFileOutput()”去除了“... extends Activity”,正如你所假设的那样。我现在通过我的其他活动传递情景。导致错误的行被重写为“FileOutputStream fos = context.openFileOutput(filename,Context.MODE_PRIVATE);”看起来我的代码不会崩溃,但我无法在任何地方找到我的文本文件lol。我去了Internal_Storage/Android/Data/com.outputproject/demo,该文件应该在那里,而且不在那里。这是你内部私人部门的意思,对吗?或者是不能被看到的私人文件?这个位置没问题。 –

+0

使用追加模式不会改变 - 它看起来像一切运行良好,但无法找到.txt文档的位置。或者,也许我滥用上下文? –

android文件系统只读,Android Studio - 只读文件系统?相关推荐

  1. 社区说|Android 13 新特性 EROFS-只读文件系统解析

    活动时间 7 月 28 日(本周四) 20:00 - 21:00 活动日程 20:00 - 20:45 主题分享 Android 13新特性 EROFS-只读文件系统解析 介绍 Android 13的 ...

  2. 制作linux只读文件系统,一种Squashfs只读根文件系统的远程升级方法及系统的制作方法...

    一种Squashfs只读根文件系统的远程升级方法及系统的制作方法 [技术领域] [0001]本发明涉及嵌入式Linux操作系统的根文件系统,具体是涉及一种Squashfs (南瓜文件系统)只读根文件系 ...

  3. 基于fuse文件系统的android sdcard存储方案:之二

    续<基于fuse文件系统的android sdcard存储方案:之一>,再聊聊基于fuse文件系统的android sdcard存储方案:之二, 以后有空再谈谈该方案的缺点,及优化方案. ...

  4. 数据存储之——Android文件存储系统及文件系统(Android Q)

    Android存储系统及存储的挂载 Android是基于Linux内核开发的,所以它的文件系统也是跟Linux文件系统类似. 首先我们来看Android存储的分类. 内部存储和外部存储.内置SD卡和外 ...

  5. android dimensions.xml,[Android Studio #2] 操作資源XML檔

    利用Android Studio產生出第一個程式後,點擊Project按鈕觀察專案的目錄結構,再研究資源檔的使用方法,同時在第一個程式畫面裡增加另一個文字元件. Android Studio的專案目錄 ...

  6. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

    文章目录 一.Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库 二.Visual Studio 中安装的 Android SDK 和 NDK 位置 三. ...

  7. 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )

    文章目录 安卓直播推流专栏博客总结 一. x264 简介 二. x264 交叉编译 三. Android Studio 导入函数库 四. 交叉编译版本 五. GitHub 项目地址 安卓直播推流专栏博 ...

  8. android studio socket 失败,Android应用开发Android Studio建立Socket连接失败解决方法

    本文将带你了解Android应用开发Android Studio建立Socket连接失败解决方法,希望本文对大家学Android有所帮助. < Android Studio建立Socket连接失 ...

  9. Android NDK开发——Android studio使用JNI调用OpenCV处理图像

    前言 这里要演示的是使用Android studio 做APP开发,使用JNI与C++交互的demo. 一.创建工程 1.创建一个Native C++工程. 2.命令工程和指定交互语言. 3.指定C+ ...

最新文章

  1. Android用户界面设计“.NET研究”:框架布局
  2. bootstrap在ie8下,兼容媒体查询
  3. 十三、MySQL存储过程相关知识总结 + 案例讲解(强化)
  4. dj电商-应用整合在一起,不完整版
  5. 今年7月,一起来看谷歌如何测试移动应用!
  6. 如何排查即时通讯互动开发平台AnyChat的故障信息
  7. 06.个人作业——软件产品案例分析
  8. div水平(横向)/垂直排列
  9. mysql迭代器_迭代器是什么,C++ STL迭代器(iterator)用法详解
  10. 深入中英文的排版与换行
  11. Ardupilot固件之Flightgear模拟仿真
  12. 一个简单的扑克牌小程序
  13. 【POJ No. 2431】 丛林探险 Expedition
  14. Java8函数式编程、Stream流、Option的使用,一篇足够了
  15. 经典DP:测试鸡蛋承受力
  16. 20802 oracle win7,[Ins-20802] Oracle Database Configuration Assistant failed
  17. 强制提升分辨率 linux,Linux创始人:笔记本分辨率已停滞10年 应直接强制2560
  18. 【ubuntu】ubuntu 如何解压zip文件
  19. 海蜘蛛路由学习笔记 (限速篇)
  20. 无法使用rsync同步文件到群晖解决方案

热门文章

  1. NOJ ACM-ICPC Graveyard
  2. 提高性能的数据库纵向分割和横向分割
  3. cartographer卸载
  4. C语言各类数值型数据间的混合运算
  5. 缓存命中率是什么,如何提高缓存命中率?
  6. 真实评测 r5 3400g和r5 5600g 选哪个
  7. 金字塔 matlab,图像的金字塔表示(MATLAB)
  8. 怎么批量提取文件夹名称?
  9. tcpdump抓包详解
  10. 前端post请求报400错误