我有以下字符串,需要将其按 "_Folder43\"
分割,以便我只获取数组第二个元素中的图像名称。
E:\generated\_Folder43\image4565.jpg
到目前为止我有以下代码
String[] tokens = imageLoc.split("_Folder43\"); //backslash escapes the double quotes!
imageLoc = tokens[1];
System.out.println(imageLoc);
上面代码中的第一行是问题所在,因为其中的反斜杠转义了双引号,因此不允许结束字符串。
所需输出image4565.jpg
最佳答案
不要使用字符串操作来处理文件路径。
如果您使用的是 Java 6 或更早版本,请改用 File API:
package com.example.file;
import java.io.File;
public class FileExample2 {
/**
* @param args
*/
public static void main(String[] args) {
String path = "E:\\generated\\_Folder43\\image4565.jpg";
File f = new File(path);
System.out.println(f.getName());
}
}
如果您使用的是 Java 7 或更高版本,请使用 Path API。不幸的是,我没有方便的 Java 7 来测试它,但我认为它会是这样的(如果有错误,请随时纠正我):
public class PathExample {
/**
* @param args
*/
public static void main(String[] args) {
String path = "E:\\generated\\_Folder43\\image4565.jpg";
Path p = Paths.get(path);
System.out.println(p.getFileName().toString());
}
}
关于java - 如何分割这个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16197202/