0

ディレクトリのパスを短くしたいのですが。

たとえば、パスを開始する必要があるディレクトリを知っています(パスは1から始まります)。

の代わりにC:\temp\top\1\file.txt、取得したい1\file.txt

4

2 に答える 2

0

StringオブジェクトのメソッドsubstringとindexOfを使用してみてください。

例:

String path = "C:/temp/top/1/file.txt";
System.out.println(path.substring(path.indexOf("1")));
于 2012-06-05T09:14:21.157 に答える
0

注:\と/...に注意してください。

ファイルからルートへのパスをトラバースして、dirが目的の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
于 2012-06-05T09:16:24.820 に答える