File.getName与Path.getFileName
File.getName并且Path.getFileName都返回一个没有目录的文件名。两者有什么区别?如果他们做同样的事情,哪个更惯用?后者是后来介绍的;这是否意味着它具有改进的功能,或者现在被认为更惯用?
回答
返回类型是这里的区别之一。
File.getName()——StringPath.getFileName()——Path
我假设您正在谈论String每个返回的输出(例如,在调用System.out它们时);关于这一点,它们的逻辑完全相同:返回位于最后找到的分隔符之后的值。
如果给定的文件位置为空/不存在,我能想到的唯一真正的区别是每个文件的输出。虽然File.getName()会返回空白但已初始化 String,Path.getFilename()会返回null。
例如,当尝试从空位置访问文件时,会在调用System.out它们时发生这种情况(注意 之前的空行null):
1. File.getName()
- 空白的
String
2. Path.getFilename()
null