将私有文件写入内部存储
Posted
技术标签:
【中文标题】将私有文件写入内部存储【英文标题】:write private file to internal storage 【发布时间】:2011-10-10 01:14:03 【问题描述】:我试图在内部存储上写入一些文件。
我在Data Storage 上看到了FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
,我知道该文件对我的应用程序来说是私有的。
但问题是它只能打开一个没有路径的文件,所以我首先用file.mkdir()打开了一个新的目录文件,但是现在,如何将文件写为私有文件?
【问题讨论】:
那你为什么不尝试存储在 sdcard 中? 【参考方案1】:我看到了FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);在数据存储上,我知道该文件将是我的应用程序的私有文件。
正确。默认情况下,它们将是私有的。
但问题是它只能打开一个没有路径的文件,所以我首先用file.mkdir()打开了一个新的目录文件,但是现在,如何将文件写为私有文件?
默认情况下,您在 getFilesDir()
的子目录中创建的文件是私有的 - 您无需执行任何特殊操作即可将它们设为私有。
【讨论】:
但根据 android 培训文档 (developer.android.com/training/basics/data-storage/…)【参考方案2】:如果您调用 Context.openFileOutput(),文件将始终写入应用程序的数据目录(即“/data/data/appname/filename”)。您不能在此处使用子文件夹! The documentation for this function 说
name要打开的文件的名称;不能包含路径分隔符。
【讨论】:
是的,我知道这一点。但是@CommonsWare 说我在应用程序的数据目录中创建的每个目录都是私有的。所以我使用 new File("/data/data/appname/dirname").mkdir() 创建了一个文件夹以上是关于将私有文件写入内部存储的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Forms:在 Android 设备的内部存储中写入文件
在读取/写入文件到内部/外部存储android时使用啥类和方法?
从 Google Cloud Function (Python) 将新文件写入 Google Cloud Storage 存储桶