File file = new File("C:/Users/Admin/Desktop/images/snail.jpg");
String fileStr = file.toString();
System.out.println(fileStr);
String outImg = fileStr.substring(0, fileStr.lastIndexOf("/")) ;
System.out.println(outImg);
由于在操作时一直报错,java.lang.StringIndexOutOfBoundsException: String index out of range: -1,意思差不多就是下标越界,找不到 "/" 这个斜杆,最后将fileStr 打印出来才发现toString后是这样的 C:UsersAdminDesktopimagessnail.jpg,一个是正斜杆一个是反斜杆,肯定找不到。所以最后改成
String outImg = fileStr.substring(0, fileStr.lastIndexOf(""))
就没报错了
查了写正反斜杆的区别:大概就是
java中的路径一般用"/"
windows中的路径用""
linux,unix中的路径一般用"/"
其中java中 "/"等同于""
如:FileInputStream file=new FileInputStream("D:111.txt")
FileInputStream file=new FileInputStream("D:/111.txt")