【问题标题】:Confused about file system on android devices对 android 设备上的文件系统感到困惑
【发布时间】:2014-03-07 20:55:56
【问题描述】:

我是安卓新手。我想制作一个程序,在其中我将一些文本写入一些文件并再次读取它们。

我对如何做到这一点感到困惑。

我首先使用下面的代码进行阅读:

InputStreamReader in = new InputStreamReader(ctx.openFileInput("syncConfig.ini"));

它不适用于我正在测试的三星、LG 和索尼之间的 LG 设备。

我认为在某些其他设备上可能无法正常工作。

然后我使用下面的代码:

String sdcard = Environment.getExternalStorageDirectory().getPath();
FileInputStream in = new FileInputStream(new File(sdcard+"/yekana_data/syncConfig.ini"));

目录yekana_data 存在。

然后我认为某些设备可能没有sdcard或未安装或设备连接到PC等,此时我的程序无法运行或稍后会出错。

我想写到一个所有设备都支持它并且我的程序随时都可以访问的地方。

我该如何解决?

【问题讨论】:

  • 检查this link
  • Context.openFileOutput() 适用于所有正常运行的 Android 设备,以获得有效的上下文。如果文件之前已通过某种方式(例如前者)创建(自上次安装应用程序或手动清除其数据以来),则 openFileInput() 将起作用。
  • 对于 android,getExternalStorage() 不一定指的是 SD 卡。如果设备没有 SD 卡(例如,我的 HTC 卡),它将写入手机的内部磁盘(在与 openFileInput() 不同的位置)。所以它应该适用于基本上所有的设备。
  • 我可以解决我的 LG 问题,但我不了解 android 上的文件系统,我在this 地址找到了它。对我来说完美的存储是内部存储。

标签: android android-sdcard fileinputstream fileoutputstream android-file


【解决方案1】:

您可以在 android 开发者网站上了解有关保存文件的更多信息。

http://developer.android.com/training/basics/data-storage/files.html

【讨论】:

  • 是的,我发现:内部存储:1-始终可用。 2-默认情况下,只有您的应用程序才能访问此处保存的文件。 3-当用户卸载您的应用程序时,系统会从内部存储中删除您应用程序的所有文件。
猜你喜欢
  • 2021-04-27
  • 2021-08-31
  • 1970-01-01
  • 2016-11-16
  • 2021-11-28
  • 1970-01-01
  • 2018-03-05
  • 2012-03-01
  • 1970-01-01
相关资源
最近更新 更多