当前位置: 首页 > 知识库问答 >
问题:

无法从android应用程序写入文件

卓俊晖
2023-03-14

我有一个应用程序,它试图将字符串序列化为资产目录下的文本文件。写入操作不会引发任何异常,尽管写入操作后文件为空(这意味着写入操作没有成功)。

  try {
        AssetManager asset = con.getAssets();
        fileDescriptor = asset.openFd("target.txt");

        fout = fileDescriptor.createOutputStream();
        oos = new ObjectOutputStream(fout);
        oos.writeObject(target.mSourceName);
        oos.close();

  } catch(Exception e) 
  { e.printStackTrace(); }

我的问题是为什么不能写入文件

共有1个答案

方琦
2023-03-14

不能。资产文件夹在运行时是只读的。

资产文件夹类似于文件夹res、src、gen等。这些都可以提供不同的文件作为输入,以构建系统,为应用程序生成APK文件。

当你的应用程序运行时,所有这些都是只读的。在运行时,您只能写入SD卡。

选择其他位置保存数据。最好选择内部存储来保存。txt文件。希望这能帮助你理解。

 类似资料:
  • 我无法在物理SD卡上写入文件。我想请求用户写入整个SD卡的权限。用户授予权限。现在我想在SD卡上的特定目录中创建文件(目录已经存在)。当我尝试打开输出流时,我得到异常: Java。Lang.SecurityException:权限拒绝:正在写入com . Android . external stage . external stage provider uri content://com . A

  • 我是Django的新手。我已经创建了一个名为,它在浏览器和邮递员应用程序中都能完美运行。 然而,当我试图从Android应用程序访问API时,它返回NULL。 当API如下所示时,android代码可以工作。 但是,当API为以下API时,它不起作用,即使以下API在同一台PC上运行的浏览器和Postman应用程序中运行良好。 我将代码附加到进行API调用的地方。 有人能帮我吗?提前感谢。

  • 我用保存了一个文件。我的应用程序中的docx扩展名。该文件保存在sdcard中。该文件在我的sdcard中显示为word文件,但我无法打开它(使用polaris或任何其他默认软件),并显示消息“不支持的文件”。 当我保存扩展名为. txt的文件时,我可以打开它。 谢谢亚历山德鲁...但现在我在运行应用程序时收到一条错误消息,指出“此元素的Javadoc既无法在附加的源代码中找到,也不能在附加的Ja

  • 我无法通过Android Studio或手动复制APK在我的联想Phab PLUS(联想PB-1 770M,Android 5.1.1 API 22)上安装我的应用程序。 通过Android Studio:我得到错误失败安装APK[INSTALL_FAILED_DEXOPT]。它提示我,手机上可能有一个现有的应用程序,带有相同的过时的德克斯罐包,并提示我卸载现有的应用程序。然而,当我继续"是",它

  • 在gradle attemp构建项目后有一个日志(使用Pro buf) :app:GeneratedBugProto失败 失败:生成失败,出现异常。 > 错误:任务“:app:generateDebugProto”的执行失败。 协议:标准输出:。stderr:/Users//app/build/extracted protos/main:警告:目录不存在/用户//app/src/debug/pro

  • My AndroidManifest.xml 文件 我的Gradle 我尝试清理/重建 gradle 项目、重新启动 Android Studio、使缓存失效和 rebbot ADB 集成(工具 - 有什么想法吗? 附言:在此之前,我更改了应用程序包的名称 P、 Android Studio无法调试其他项目。