以简单易懂的方式有什么区别?(Java文件)

htn*_*mas 2 java io file

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

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

Ste*_*n C 9

简洁版:

  1. File.getName()将文件名部分作为字符串返回; 即最后一个文件分隔符后的位.
  2. File.getPath() 将完整路径名作为字符串返回.
  3. File.getAbsolutePath()将路径映射到绝对路径(如果它当前是相对路径)后,将完整路径名转换为字符串.没有尝试验证路径.
  4. File.getAbsoluteFile()做同样的事情File.getAbsolutePath(),除了结果是a File.
  5. File.getCanonicalPath()将路径映射到绝对路径(如果它当前是相对路径),然后尝试将其规范化.此过程取决于操作系统,但它通常涉及跟随符号链接并将".",".."和空名称替换为规范等效项.结果是规范化的路径字符串.
  6. File.getCanonicalFile()File.getCanonicalPath()除了它的结果是a之外,它的作用相同File.

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

最后2个涉及检查最后命名的组件的路径File.如果路径涉及不存在的目录,断开的链接,无法读取的目录等等,则可能会出现IOException.

有关更多详细信息,请参阅各个方法的javadoc.