在Android系统中处理文件时,我们应该使用File
getPath
还是getAbsolutePath
?
例如,我们下载了文件,然后使用DownloadManager.addCompletedDownload()
该文件将其添加到全局downloads
文件夹中,以便在那里可用,path
我们应该通过哪个?
当我们创建File
内部context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath()
文件夹时的另一个示例,getPath
或者getAbsolutePath
?
最后一个例子,当我们使用 MediaScannerConnection.scanFile()
在Android上,不依赖是一种常见的做法System.getProperty("user.dir")
。无论如何,当zigote启动您的应用程序时,将其设置为/
,并且只有一个文件系统,因此出于所有实际目的,File.getPath()
并且File.getAbsolutePath()
将产生相同的结果。
但是,如果要使用样式点,则当流程与其他流程(包括系统服务)进行通信时,应该使用绝对路径。因此,与DownloadManager或MediaScanner交谈时,您最好使用来表达您的意图getAbsolutePath()
。另一方面,对于应用内文件路径,例如getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)
查找和读取文件,getPath()
将更为合适。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句