在Android文件系统中创建目录的位置是什么?

时间:2015-11-21 11:12:33

标签: android

我正在开发必须将数据保存到文件的Android应用。要使文件可供所有应用程序访问并通过USB传输到计算机,文件应保存在名为" ABC"的文件夹中。我手动创建了文件夹" ABC"在外部存储卡和内部存储上。我能够通过代码在外部存储卡上获得该文件夹的完整路径,并能够从中进行写入和读取。

String path = Environment.getExternalStorageDirectory().toString() + "/ABC";

但是内部存储变得更加难以捉摸,因为我无法获得" ABC"内部存储上的文件夹。有没有办法以编程方式确定在内部存储上创建文件夹的位置?一般来说,在Android内部存储上创建的文件夹是什么?

编辑:
内部存储空间 - 我的意思是不可移动的存储空间 外部存储 - 我的意思是可移动存储

1 个答案:

答案 0 :(得分:1)

  

我手动创建了文件夹" ABC"在外部存储卡和内部存储器上。

您可能已在external storage上创建了此目录。除非您在设备或模拟器上进行测试,否则您无法在internal storage上创建此目录,因为您无权访问它。 A"卡"对于绝大多数Android设备而言,这意味着removable storage,这完全是另一回事。

  

我能够通过代码在外部存储卡上获得该文件夹的完整路径,并能够从中进行写入和读取。

您的代码用于外部存储。在很少的设备上是"卡"。

  

但是内部存储变得更加难以捉摸,因为我无法获得" ABC"内部存储上的文件夹。

没有" ABC"内部存储上的文件夹,只要您无法从设备根目录创建/ABC目录,甚至不能在/data之外创建getFilesDir()目录。您只能使用File等方法为您应用的内部存储空间部分工作。而且,除非您在模拟器或根设备上进行测试,否则您无法创建这样的" ABC"手工制作目录。

  

有没有办法以编程方式确定在内部存储上创建文件夹的位置?

嗯,嗯,当然欢迎您检查您创建的new File(getFilesDir(), "ABC")对象中指向某个位置的路径(例如/data)。

  

通常,在Android内部存储上创建的文件夹是什么?

<?php $jsonParser = new JsonParser; try { $jsonParser->parse(file_get_contents($localConfig), JsonParser::DETECT_KEY_CONFLICTS); } catch (\Seld\JsonLint\DuplicateKeyException $e) { $details = $e->getDetails(); $io->writeError('<warning>Key '.$details['key'].' is a duplicate in '.$localConfig.' at line '.$details['line'].'</warning>'); }