我们如何获取不同文件系统使用的文件分隔符?

2024-05-05

大家下午好,

据我了解,Android 有(至少)2 个文件系统。一个用于“内部”存储(例如/data和/system),另一个用于“外部”存储(例如/mnt/sdcard),

这意味着当我们将文件保存到“内部”存储时(Context.getFilesDir http://developer.android.com/reference/android/content/Context.html#getFilesDir%28%29, Context.getCacheDir http://developer.android.com/reference/android/content/Context.html#getCacheDir%28%29),使用的文件分隔符可能与我们将文件保存到“外部”存储时不同(Context.getExternalFilesDir http://developer.android.com/reference/android/content/Context.html#getFilesDir%28%29, Context.getExternalCacheDir http://developer.android.com/reference/android/content/Context.html#getCacheDir%28%29, 环境.getExternalStoragePublicDirectory http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory%28%29), yet java.io.File.separator http://developer.android.com/reference/java/io/File.html#separator似乎只为我们提供有关所使用的“默认”文件系统的信息。

我们如何获取Android上不同文件系统使用的不同文件分隔符?

我试过了java.nio.file.spi.FileSystemProvider.installedProviders() http://docs.oracle.com/javase/7/docs/api/java/nio/file/spi/FileSystemProvider.html#installedProviders%28%29但看起来像安卓没有这个包 http://developer.android.com/reference/packages.html.

有没有办法获取 Android 上的文件系统列表?


据我了解,Android 有(至少)2 个文件系统。一个用于“内部”存储(例如/data和/system),另一个用于“外部”存储(例如/mnt/sdcard),

这对于 Android 1.x 和 2.x 来说是准确的。从 Android 3.0 开始,外部存储只是内部存储中的一个目录。

这意味着当我们将文件保存到“内部”存储(Context.getFilesDir、Context.getCacheDir)时,使用的文件分隔符可能与将文件保存到“外部”存储时不同

当然不是。分隔符是操作系统的一项功能,而不是文件系统的一项功能。

有没有办法获取 Android 上的文件系统列表?

没有什么受支持的。 SDK 应用程序应仅使用内部和外部存储,例如通过您在答案中引用的 API。

嗯,我听说过将外部驱动器安装在 NTFS 上,这就是为什么我认为它们可能不同

你误会了。文件和路径分隔符与文件系统的格式无关。

然而,不仅仅是文件分隔符,不同文件系统之间的文件分隔符(路径分隔符)也不同。

你误会了。文件和路径分隔符与文件系统的格式无关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们如何获取不同文件系统使用的文件分隔符? 的相关文章

随机推荐