|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2021 the original author or authors. |
|
|
|
* Copyright 2002-2022 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -65,6 +65,8 @@ public abstract class StringUtils { |
|
|
|
|
|
|
|
|
|
|
|
private static final String FOLDER_SEPARATOR = "/"; |
|
|
|
private static final String FOLDER_SEPARATOR = "/"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final char FOLDER_SEPARATOR_CHAR = '/'; |
|
|
|
|
|
|
|
|
|
|
|
private static final String WINDOWS_FOLDER_SEPARATOR = "\\"; |
|
|
|
private static final String WINDOWS_FOLDER_SEPARATOR = "\\"; |
|
|
|
|
|
|
|
|
|
|
|
private static final String TOP_PATH = ".."; |
|
|
|
private static final String TOP_PATH = ".."; |
|
|
|
@ -568,7 +570,7 @@ public abstract class StringUtils { |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR); |
|
|
|
int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); |
|
|
|
return (separatorIndex != -1 ? path.substring(separatorIndex + 1) : path); |
|
|
|
return (separatorIndex != -1 ? path.substring(separatorIndex + 1) : path); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -589,7 +591,7 @@ public abstract class StringUtils { |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR); |
|
|
|
int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); |
|
|
|
if (folderIndex > extIndex) { |
|
|
|
if (folderIndex > extIndex) { |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -609,7 +611,7 @@ public abstract class StringUtils { |
|
|
|
return path; |
|
|
|
return path; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR); |
|
|
|
int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); |
|
|
|
if (folderIndex > extIndex) { |
|
|
|
if (folderIndex > extIndex) { |
|
|
|
return path; |
|
|
|
return path; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -626,11 +628,11 @@ public abstract class StringUtils { |
|
|
|
* @return the full file path that results from applying the relative path |
|
|
|
* @return the full file path that results from applying the relative path |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public static String applyRelativePath(String path, String relativePath) { |
|
|
|
public static String applyRelativePath(String path, String relativePath) { |
|
|
|
int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR); |
|
|
|
int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); |
|
|
|
if (separatorIndex != -1) { |
|
|
|
if (separatorIndex != -1) { |
|
|
|
String newPath = path.substring(0, separatorIndex); |
|
|
|
String newPath = path.substring(0, separatorIndex); |
|
|
|
if (!relativePath.startsWith(FOLDER_SEPARATOR)) { |
|
|
|
if (!relativePath.startsWith(FOLDER_SEPARATOR)) { |
|
|
|
newPath += FOLDER_SEPARATOR; |
|
|
|
newPath += FOLDER_SEPARATOR_CHAR; |
|
|
|
} |
|
|
|
} |
|
|
|
return newPath + relativePath; |
|
|
|
return newPath + relativePath; |
|
|
|
} |
|
|
|
} |
|
|
|
|