Java 拆分路径..?
这是字符串形式的输入:
"C:\jdk1.6.0\bin\program1.java"
我需要输出为:
Path-->C:\jdk1.6.0\bin\
file--->program1.java
extension--->.java
注意“\”字符。我很容易得到“/”的输出。
这是字符串形式的输入:
"C:\jdk1.6.0\bin\program1.java"
我需要输出为:
Path-->C:\jdk1.6.0\bin\
file--->program1.java
extension--->.java
注意“\”字符。我很容易得到“/”的输出。
File 类为您提供了所需的一切:
File f = new File("C:\\jdk1.6.0\\bin\\program1.java");
System.out.println("Path-->" + f.getParent());
System.out.println("file--->" + f.getName());
int idx = f.getName().lastIndexOf('.');
System.out.println("extension--->" + ((idx > 0) ? f.getName().substring(idx) : "") );
编辑:感谢 Dave 注意到 String.lastIndexOf 将返回 -1,如果 File.getName 不包含 '.'。
请考虑使用现有解决方案,而不是滚动自己的解决方案并引入更多需要测试的代码。Apache Commons IO的文件名实用程序就是一个例子: