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

2022-09-01 06:17:12

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

它需要尽可能通用,因为我无法事先知道URL是什么。我不能简单地创建一个URL对象并使用 - 尽管如果可能的话,这将是理想的 - 因为它不一定是一个前缀,它可以是c:/或类似的东西。getFile()http://


答案 1
new File(fileName).getName();

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

请注意,第一个解决方案与系统相关。它只考虑系统的路径分隔符字符。因此,如果您的代码在Unix系统上运行并接收Windows路径,则它将不起作用。在处理 Internet Explorer 发送的文件上载时,就是这种情况。


答案 2
new File(absolutePath).getName();