Java:解析文件路径
我需要解析一个文件路径以从中获取文件名。让我困惑的是,windows使用Java:解析文件路径,java,substring,indexof,Java,Substring,Indexof,我需要解析一个文件路径以从中获取文件名。让我困惑的是,windows使用\作为delimeter和linux-/,而且提供的文件路径甚至可以同时包含这两个delimeter 我当然可以做到: int slash = filePath.lastIndexOf("/"); int backslash = filePath.lastIndexOf("\\"); fileName = filePath.substring(slash > backslash ? slash : backslash)
\
作为delimeter和linux-/
,而且提供的文件路径甚至可以同时包含这两个delimeter
我当然可以做到:
int slash = filePath.lastIndexOf("/");
int backslash = filePath.lastIndexOf("\\");
fileName = filePath.substring(slash > backslash ? slash : backslash);
但是如果我有更多的分隔符,有没有更好的方法?(可能不是文件路径)只需使用
文件
类:
String fileName = new File(path).getName();
它处理向前和向后的斜杠,以及两者的组合。您可以使用
String separator =System.getProperty("path.separator");
获取系统分隔符。
文件f=新文件(文件名);String name=f.getName()代码>这不起作用,因为可能同时存在两个分隔符。