Java - 缩短目录的路径

时间:2012-06-05 09:10:44

标签: java file path directory

我想缩短目录的路径。

我知道路径必须开始的目录,例如(路径从 1 开始):

而不是C:\temp\top\1\file.txt,我想获得1\file.txt

2 个答案:

答案 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