从Java中的文件位置获取文件名


问题内容

我有一个String提供文件(包括文件名)的绝对路径的文件。我只想获取文件名。最简单的方法是什么?

必须尽可能地笼统,因为我无法事先知道该URL是什么。我不能简单地创建一个URL对象并使用getFile()-尽管所有可能的情况都是理想的-
因为它不一定是http://前缀,它可以是c:/或类似的东西。


问题答案:
new File(fileName).getName();

要么

int idx = fileName.replaceAll("\\\\", "/").lastIndexOf("/");
return idx >= 0 ? fileName.substring(idx + 1) : fileName;

请注意,第一个解决方案取决于系统。它仅考虑系统的路径分隔符。因此,如果您的代码在Unix系统上运行并接收Windows路径,则它将无法正常工作。当Internet
Explorer发送文件上传时,就是这种情况。