我想缩短目录的路径。
我知道路径必须开始的目录,例如(路径从1开始):
而不是C:\temp\top\1\file.txt
,我想得到1\file.txt
。
注意:小心使用 \ 和 /....
您可以遍历从文件到根目录的路径,以检查该目录是否是您想要的目录:
File baseDir = new File(basePath);
File candidate = new File(fullPath);
String subPath = candidate.getName();
candidate = candidate.getParent();
while (candidate != null && !candidate.equals(baseDir))
{
candidate = candidate.getParent();
subPath = candidate.getName() + File.separatorChar + subPath;
}
// now if candidate == null the file is on another directory, you have to use all the path
// if candidate != null, then subpath has what you want
您可以尝试使用来自String对象的 substring 和 indexOf 方法。
例子:
String path = "C:/temp/top/1/file.txt";
System.out.println(path.substring(path.indexOf("1")));