java正则校验文件路径合法性
时间: 2024-12-05 07:13:35 浏览: 14
在Java中,可以使用正则表达式来校验文件路径的合法性。文件路径的合法性校验通常包括检查路径的格式、目录和文件名的合法性等。以下是一个示例代码,展示了如何使用正则表达式来校验文件路径的合法性:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FilePathValidator {
// 正则表达式用于校验文件路径的合法性
private static final String FILE_PATH_REGEX = "^(?:[a-zA-Z]:|\\/|\\\\\\\\)[\\w\\s\\/\\\\.-]+$";
/**
* 校验文件路径是否合法
*
* @param filePath 文件路径
* @return 如果文件路径合法则返回true,否则返回false
*/
public static boolean isValidFilePath(String filePath) {
Pattern pattern = Pattern.compile(FILE_PATH_REGEX);
Matcher matcher = pattern.matcher(filePath);
return matcher.matches();
}
public static void main(String[] args) {
String[] testPaths = {
"C:\\Users\\Example\\Documents\\file.txt",
"/home/example/documents/file.txt",
"\\\\server\\share\\file.txt",
"invalid/path/file.txt",
"C:\\\\invalid|path\\\\file.txt"
};
for (String path : testPaths) {
System.out.println("Path: " + path + " is valid: " + isValidFilePath(path));
}
}
}
```
在这个示例中,我们定义了一个正则表达式 `FILE_PATH_REGEX` 来匹配合法的文件路径。正则表达式的含义如下:
- `^` 和 `$` 分别表示字符串的开始和结束。
- `(?:[a-zA-Z]:|\\/|\\\\\\\\)` 用于匹配Windows路径的驱动器号(如 `C:\`)或Unix/Linux路径的根目录(如 `/`)或网络路径(如 `\\server\share\`)。
- `[\\w\\s\\/\\\\.-]+` 用于匹配文件路径中的有效字符,包括字母、数字、下划线、空格、反斜杠、正斜杠、点和点。
通过 `Pattern` 和 `Matcher` 类,我们可以使用这个正则表达式来校验文件路径的合法性。
阅读全文