Fileクラス getNameメソッドの抜粋
private static final FileSystem fs =
DefaultFileSystem.getFileSystem();
public static final char separatorChar = fs.getSeparator();
public String getName() {
int index = path.lastIndexOf(separatorChar);
if (index < prefixLength){
return path.substring(prefixLength);
}
return path.substring(index + 1);
}
「prefixLength」のくだりは、[ルート名にパス区切り文字が含まれるファイルシステム]の為の回避ですね。
lastIndexOfメソッドで、最後のセパレート文字の位置を確認して、
substringメソッドで、最後のセパレート文字以降を切り出していました。
これらのメソッドについては
超入門 第十八章 Stringクラス もご参照ください。
ちなみに「
separatorChar」は、実行中のファイルシステムのパスの区切り文字です。
Windows の場合は、 '/' を '¥' と読み替えてください。