Java:解析文件路径

3

我需要解析文件路径以获取其中的文件名。令我困惑的是,Windows 使用 \ 作为分隔符,而 Linux 则使用 /,有时提供的文件路径甚至可以同时包含两种分隔符。

当然,我可以这样做:

int slash = filePath.lastIndexOf("/");
int backslash = filePath.lastIndexOf("\\");
fileName = filePath.substring(slash > backslash ? slash : backslash);

如果我有更多的分隔符,是否有更好的方法?(对于文件路径可能没有更好的方法)


3
File f = new File(fileName); String name = f.getName(); 可翻译为:创建一个文件对象 f,其路径名为 fileName,然后获取该文件对象的名称并将其赋值给字符串变量 name - Andrew Thompson
2个回答

9
只需使用File类:
String fileName = new File(path).getName();

它可以处理正斜杠和反斜杠,以及两者的任意组合。

0

您可以使用

String separator =System.getProperty("path.separator");

获取您系统的分隔符。


1
这样不行,因为同时可能会有两个分隔符。 - svz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接