ポール・テイラー:
与えられたEGルートまでのパスの各セクションを得るために、よりエレガントな方法はあります
E:\AllMusic\The Shadows\The Very Best of The Shadows
私は手に入れたい
E:\AllMusic\The Shadows\The Very Best of The Shadows
E:\AllMusic\The Shadows
E:\AllMusic
E:\
私は(私はパスをプリントアウトしていますが、これらのパスで何かをする実際のコードを必要としている)以下のコードでそれを行っているが、それは非常に畳み込まれているようです。私はこれを適切に行いたい、と私は文字列との巧妙なハックをやっていけないので、それは、Windows / Unixのなどで動作するように持って注意してください。Javaの8を使用してイム。
System.out.println(folder);
while(folder.getNameCount()>1)
{
if(folder.getRoot()!=null)
{
folder = folder.getRoot().resolve(folder.subpath(0, folder.getNameCount() - 1));
}
System.out.println(folder);
}
if(folder.getRoot()!=null)
{
System.out.println(folder.getRoot());
}
ステファン:
たぶん、この:
Path p = Path.of("E:\\AllMusic\\The Shadows\\The Very Best of The Shadows");
do {
System.out.println(p);
} while ((p = p.getParent()) != null);
出力:
E:\AllMusic\The Shadows\The Very Best of The Shadows
E:\AllMusic\The Shadows
E:\AllMusic
E:\