String text="C:\\src\\bin\\string\\ProgramFiles(x86)\\bin\\abc.text";
int lastSlashIndex=text.lastIndexOf("\\");
int doIndex=text.indexOf(".");
String folder=text.substring(0,lastSlashIndex);
String filename=text.substring(lastSlashIndex+1,doIndex);
String suffix=text.substring(doIndex+1);
String dotry=text.substring(1);
System.out.println(lastSlashIndex);
System.out.println(dotry);
System.out.println(doIndex);
System.out.println(folder);
System.out.println(filename);
System.out.println(suffix);
结果
39
:\src\bin\string\ProgramFiles(x86)\bin\abc.text
43
C:\src\bin\string\ProgramFiles(x86)\bin
abc
text
1.第一个问题
java中"/“是代表路径(和linux一样,如果对IDE的底层语言有所涉及的话可能有所思考),而在java中“\“代表的转义符,与windows系统产生差异:因为它的”\“代表路径。
这样的差异对于双方来说存在一定的阻碍,但这种情况在其他语言中也有所体现,大家可以接触一下其他的语言对此,对于这种问题的解决java用”\\“来对应”\",即
java:"/"=’\\’
⬇
windows: =”\“
2.第二个问题
substring()方法和indexOf()和lastIndexOf()方法搭配使用
但是substring方法是[)(大于等于,小于)
即前面取到返回的索引,而后面取不到返回的索引。