join static method
Joins path parts using the appropriate platform separator.
Implementation
static String join(
String part1,
String part2, [
String? part3,
String? part4,
String? part5,
]) {
final separator = Platform.isWindows ? r'\' : '/';
String trimPart(String p) {
var s = p;
while (s.startsWith('/') || s.startsWith(r'\')) {
s = s.substring(1);
}
while (s.endsWith('/') || s.endsWith(r'\')) {
s = s.substring(0, s.length - 1);
}
return s;
}
var base = part1.endsWith('/') || part1.endsWith(r'\')
? part1.substring(0, part1.length - 1)
: part1;
final parts = [part2, part3, part4, part5].whereType<String>();
for (final part in parts) {
final trimmed = trimPart(part);
if (trimmed.isNotEmpty) {
base = '$base$separator$trimmed';
}
}
return base;
}