|
23 | 23 | import java.util.Collection; |
24 | 24 | import java.util.Deque; |
25 | 25 | import java.util.List; |
26 | | -import java.util.Objects; |
27 | 26 | import java.util.regex.Matcher; |
28 | 27 | import java.util.regex.Pattern; |
29 | 28 |
|
@@ -539,17 +538,22 @@ public static String concat(final String basePath, final String fullFileNameToAd |
539 | 538 | * @see FileUtils#directoryContains(File, File) |
540 | 539 | */ |
541 | 540 | public static boolean directoryContains(final String canonicalParent, final String canonicalChild) { |
542 | | - Objects.requireNonNull(canonicalParent, "canonicalParent"); |
543 | | - |
544 | | - if (canonicalChild == null) { |
| 541 | + if (isEmpty(canonicalParent) || isEmpty(canonicalChild)) { |
545 | 542 | return false; |
546 | 543 | } |
547 | 544 |
|
548 | 545 | if (IOCase.SYSTEM.checkEquals(canonicalParent, canonicalChild)) { |
549 | 546 | return false; |
550 | 547 | } |
551 | 548 |
|
552 | | - return IOCase.SYSTEM.checkStartsWith(canonicalChild, canonicalParent); |
| 549 | + final char separator = canonicalParent.charAt(0) == UNIX_SEPARATOR ? UNIX_SEPARATOR : WINDOWS_SEPARATOR; |
| 550 | + final String parentWithEndSeparator = canonicalParent.charAt(canonicalParent.length() - 1) == separator ? canonicalParent : canonicalParent + separator; |
| 551 | + |
| 552 | + return IOCase.SYSTEM.checkStartsWith(canonicalChild, parentWithEndSeparator); |
| 553 | + } |
| 554 | + |
| 555 | + private static boolean isEmpty(final String string) { |
| 556 | + return string == null || string.isEmpty(); |
553 | 557 | } |
554 | 558 |
|
555 | 559 | /** |
@@ -1235,7 +1239,7 @@ public static boolean isExtension(final String fileName, final String extension) |
1235 | 1239 | } |
1236 | 1240 | requireNonNullChars(fileName); |
1237 | 1241 |
|
1238 | | - if (extension == null || extension.isEmpty()) { |
| 1242 | + if (isEmpty(extension)) { |
1239 | 1243 | return indexOfExtension(fileName) == NOT_FOUND; |
1240 | 1244 | } |
1241 | 1245 | final String fileExt = getExtension(fileName); |
|
0 commit comments