我们应该在Android中使用getPath还是getAbsolutePath

帕维尔·波利

在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()将产生相同的结果。

但是,如果要使用样式点,则当流程与其他流程(包括系统服务)进行通信时,应该使用绝对路径。因此,与DownloadManagerMediaScanner交谈时,您最好使用来表达您的意图getAbsolutePath()另一方面,对于应用内文件路径,例如getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)查找和读取文件,getPath()将更为合适。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们应该在TypeScript中使用_.foreach()还是更好的for循环本机

来自分类Dev

Android - 为什么我们应该在片段中使用 saveInstanceState 包而不是片段参数?

来自分类Dev

我们应该在观察者模式中使用WeakReference吗?

来自分类Dev

我们应该在竞争性编程中使用cin.ignore()吗?

来自分类Dev

我们应该在OkHttp中使用Google的安全提供程序吗?

来自分类Dev

我们应该在AngularJS中使用jQuery吗?

来自分类Dev

我们应该在Rails Factory中使用Faker吗?

来自分类Dev

我们应该在C ++中使用exit吗?

来自分类Dev

我们是否应该在调用异步回调的库中使用ConfigureAwait(false)?

来自分类Dev

我们应该在Qt中使用哪种内存管理方法?

来自分类Dev

什么时候我们应该在.exs文件中使用defmodule

来自分类Dev

为什么我们应该在退货声明中使用{}

来自分类Dev

什么时候我们应该在Rust中使用包装与期望

来自分类Dev

我们什么时候应该在React Native中使用`accessibilityRole`?

来自分类Dev

我们应该在PHP中使用“ --->”之类的对象范围吗?

来自分类Dev

我们应该在JWT响应中使用什么Content-type?

来自分类Dev

HTML:我们应该在 HTML 文本字段中使用 `type="text"` 吗?

来自分类Dev

我们什么时候应该在 CodeIgniter 中使用核心?

来自分类Dev

我们应该在 sql server 的更新查询中使用 alise 名称吗?

来自分类Dev

我们应该还是不应该在Javascript主函数中的函数声明后使用分号?

来自分类Dev

我们可以在同一个 div 中使用 row 和 col-md-12 吗?还是应该在父子 div 中?

来自分类Dev

我应该在POSIX shell中使用“ test”还是“ [”“]”?

来自分类Dev

我应该在“ this”中使用bind还是关闭别名?

来自分类Dev

我应该在JSFiddle中使用:after还是:: after?

来自分类Dev

我应该在“ this”中使用bind还是关闭别名?

来自分类Dev

我应该在POSIX shell中使用“ test”还是“ [”“]”?

来自分类Dev

为什么我们应该在jQuery中使用匿名函数而不是直接使用匿名函数?

来自分类Dev

为什么我们不应该在gsl :: not_null中使用指针算法?

来自分类Dev

什么时候应该在我们的项目中使用数据层应用程序?

Related 相关文章

  1. 1

    我们应该在TypeScript中使用_.foreach()还是更好的for循环本机

  2. 2

    Android - 为什么我们应该在片段中使用 saveInstanceState 包而不是片段参数?

  3. 3

    我们应该在观察者模式中使用WeakReference吗?

  4. 4

    我们应该在竞争性编程中使用cin.ignore()吗?

  5. 5

    我们应该在OkHttp中使用Google的安全提供程序吗?

  6. 6

    我们应该在AngularJS中使用jQuery吗?

  7. 7

    我们应该在Rails Factory中使用Faker吗?

  8. 8

    我们应该在C ++中使用exit吗?

  9. 9

    我们是否应该在调用异步回调的库中使用ConfigureAwait(false)?

  10. 10

    我们应该在Qt中使用哪种内存管理方法?

  11. 11

    什么时候我们应该在.exs文件中使用defmodule

  12. 12

    为什么我们应该在退货声明中使用{}

  13. 13

    什么时候我们应该在Rust中使用包装与期望

  14. 14

    我们什么时候应该在React Native中使用`accessibilityRole`?

  15. 15

    我们应该在PHP中使用“ --->”之类的对象范围吗?

  16. 16

    我们应该在JWT响应中使用什么Content-type?

  17. 17

    HTML:我们应该在 HTML 文本字段中使用 `type="text"` 吗?

  18. 18

    我们什么时候应该在 CodeIgniter 中使用核心?

  19. 19

    我们应该在 sql server 的更新查询中使用 alise 名称吗?

  20. 20

    我们应该还是不应该在Javascript主函数中的函数声明后使用分号?

  21. 21

    我们可以在同一个 div 中使用 row 和 col-md-12 吗?还是应该在父子 div 中?

  22. 22

    我应该在POSIX shell中使用“ test”还是“ [”“]”?

  23. 23

    我应该在“ this”中使用bind还是关闭别名?

  24. 24

    我应该在JSFiddle中使用:after还是:: after?

  25. 25

    我应该在“ this”中使用bind还是关闭别名?

  26. 26

    我应该在POSIX shell中使用“ test”还是“ [”“]”?

  27. 27

    为什么我们应该在jQuery中使用匿名函数而不是直接使用匿名函数?

  28. 28

    为什么我们不应该在gsl :: not_null中使用指针算法?

  29. 29

    什么时候应该在我们的项目中使用数据层应用程序?

热门标签

归档