从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发送文件上传时,就是这种情况。