获得类似结果的任何小而快的代码?
public static void main(String[] args) {
String string = "/abc/def/ghi/jkl/mno/qqq.xml";
String last = string.substring(string.lastIndexOf('/') + 1);
String first = string.substring(0, string.lastIndexOf('/'));
String first1 = first.substring(0, first.lastIndexOf('/'));
String first2 = first1.substring(0, first1.lastIndexOf('/'));
System.out.println(last);
System.out.println(first2);
}
输出:
qqq.xml
/abc/def/ghi
答案 0 :(得分:-1)
首先,我建议使用File.java和apache commons的一些帮助程序(FilenamesUtils和FileUtils)
要获取文件名(或称为'last'),请使用此文件。
File myFile = new File ("some\\path\\to\\file.xml");
System.out.println(myFile.getName());
要获取目录名称,请使用此
System.out.println(myFile.getParent());
答案 1 :(得分:-1)
public static void main(String[] args) throws IOException {
String string = "/abc/def/ghi/jkl/mno/qqq.xml";
String[] arr = string.split("/");
String first2 = String.join("/", Arrays.copyOfRange(arr,0,4));
System.out.println(arr[arr.length-1]);
System.out.println(first2);
}
这给出了您正在寻找的结果 我将字符串转换为数组,然后操纵它