Библиотеки » Ввод-вывод (dart:io) » Path » isCanonical
переменная Path::isCanonical
Является ли путь канонизированным
Синтаксис
bool
Path.isCanonical
Описание
Поле isCanonical
содержит информацию о том, является ли текущий путь канонизированным, т.е. путь описан в формате не допускающим неоднозначности, где отсутствуют повторяющиеся один за другим разделители каталогов '/', и переходы типа '/./', '/../', за исключением случаев, когда путь состоит только из символа '.', или '..' присутствуют как начальные сегменты относительного пути.
Заметки
Примеры использования:
import "dart:io";
void main() {
// объявим несколько путей
List<Path> absolutePath = [
new Path("/home/build.xml"),
new Path("."),
new Path("../home"),
new Path("../../home"),
new Path("..//home"),
new Path("./home"),
new Path("./"),
new Path("/home/../home"),
];
// определим канонизированные пути
for(Path path in absolutePath) {
print("${path.toNativePath()} - ${path.isCanonical}");
}
// \home\build.xml - true
// . - true
// ..\home - true
// ..\..\home - true
// ..\\home - false
// .\home - false
// .\ - false
// \home\..\home - false
}