我想缩短目录的路径。
我知道路径必须开始的目录,例如(路径从 1 开始):
而不是C:\temp\top\1\file.txt
,我想获得1\file.txt
。
答案 0 :(得分:0)
您可以尝试使用String对象中的方法子字符串和indexOf。
示例:
String path = "C:/temp/top/1/file.txt";
System.out.println(path.substring(path.indexOf("1")));
答案 1 :(得分:0)
注意:小心使用\和/....
您可以遍历从file到root的路径,检查dir是否是您想要的目录:
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