当前位置: 首页 > 面试题库 >

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

缑智敏
2023-03-14
问题内容

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



 类似资料:
  • 我正在尝试获取运行Runnable JAR文件的位置 但结果是: 而JAR文件位于 我也试过 但结果是: 所以基本上我想要的是JAR文件的路径,而不是类路径,而不是文件名。 有办法吗?

  • 问题内容: 假设我在目录 e中 有一个python文件,如下所示: /a/b/c/d/e/file.py 在目录 e下, 我有几个文件夹要访问,但是如果从其他任何地方而不是从文件夹 e 执行file.py,则相对路径对我来说不起作用。另外,文件夹 e 可以位于任何位置,但总是与一组子文件夹一起使用,因此绝对路径将不起作用。 首先,有什么功能可以获取相对于源文件位置的绝对路径? 如果没有,有什么想法

  • 我想通过使用“文件类”从项目文件夹中获取文件,我如何做到这一点?

  • 问题内容: 我必须从我的Java程序中打开一个.exe文件。因此我首先尝试了以下代码。 但是我遇到了一些错误。然后我发现该exe必须从c:// program files / test /的位置启动,然后才可以正常打开。因此,我决定编写一个.bat文件并执行,以便将其CD到该位置并执行.exe文件。 以下是我的代码: 上面的代码运行完美。但是,命令提示符也在我的.exe(应用程序)的背面打开。仅在

  • 问题内容: 我想使用“文件类”从项目文件夹中获取文件,我该怎么办? 问题答案: 嗯,有很多不同的方法来获取Java文件,但这是一般要点。 不要忘记,您至少需要将其包装在a 中,因为File是其中的一部分,这意味着它必须具有try-catch块。 不是要解决Ericson的问题,而是如果您使用的是实际的软件包,则除非明确使用文件的位置,否则文件的位置将有问题。相对路径与Packages混为一谈。 即

  • 问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?