gpt4 book ai didi

java - 用简单易懂的方式来说明以下内容有什么区别? (Java 文件)

转载 作者:行者123 更新时间:2023-12-02 02:31:06 24 4
gpt4 key购买 nike

  1. getName() , getAbsoluteFile()getCanonicalFile()

  2. getPath() , getAbsolutePath()getCanonicalPath()

最佳答案

简洁版本:

  1. File.getName()以字符串形式返回文件名部分;即最后一个文件分隔符之后的位。
  2. File.getPath()以字符串形式返回完整路径名。
  3. File.getAbsolutePath()将路径映射到绝对路径(如果当前是相对路径)后,将完整路径名转换为字符串。不会尝试验证路径。
  4. File.getAbsoluteFile()File.getAbsolutePath() 执行相同的操作,只不过结果是 File
  5. File.getCanonicalPath()将路径映射到绝对路径(如果当前是相对路径),然后尝试对其进行规范化。此过程依赖于操作系统,但它通常涉及遵循符号链接(symbolic link)并将“.”、“..”和空名称替换为规范的等效名称。结果是规范化的路径字符串。
  6. File.getCanonicalFile()File.getCanonicalPath() 的作用相同,只是其结果是一个 File

前 4 个实际上只是对原始 File 对象的基于文本的操作。它们不会尝试检查路径的任何部分是否与文件系统中的任何内容相对应。

最后两个涉及检查文件最后命名的组件的路径。如果路径涉及不存在的目录、损坏的链接、无法读取的目录等,您可能会收到 IOException。

有关更多详细信息,请访问相应方法的 javadoc 链接。

<小时/>

2020 年注意 - 如果您仍在编写使用 File API 的新代码,则应认真考虑使用 java.nio.file API 代替:

  • Path 对象最直接对应于 File 对象
  • FilesPaths 类提供了许多对 Path 对象进行操作的静态方法,

新 API 的优点包括:

  • 许多操作现在都会抛出异常来告诉您失败的原因。
  • 支持多种文件系统语义;例如不同类型的访问控制、文件属性等等。
  • 支持目录观察器、文件树遍历等。
  • 支持在 JVM 中实现的虚拟文件系统。
  • Windows 上 File 的一些奇怪行为(由于兼容性原因无法在 File 中修复)已得到解决。

关于java - 用简单易懂的方式来说明以下内容有什么区别? (Java 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12720255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com