首页 > 解决方案 > File.getName 与 Path.getFileName

问题描述

File.getName并且Path.getFileName都返回一个没有目录的文件名。两者有什么区别?如果他们做同样的事情,哪个更惯用?后者是后来介绍的;这是否意味着它具有改进的功能,或者现在被认为更惯用?

标签: java

解决方案


返回类型是这里的区别之一。

  • File.getName()-String
  • Path.getFileName()-Path

我假设您正在谈论String每个返回的输出(例如,在调用System.out它们时);关于这一点,它们的逻辑完全相同:返回位于最后找到的分隔符之后的值。

我能想到的唯一真正的区别是,如果给定的文件位置为空/不存在,则每个文件的输出。WhileFile.getName()将返回一个空白但已初始化 StringPath.getFilename()将返回null

例如,当尝试从空位置访问文件时,调用System.out它们时会发生这种情况(注意前面的空行null

在此处输入图像描述

1. File.getName()

  • 空白的 String

2. Path.getFilename()

  • null

推荐阅读