Java 方法 genPath: 生成安全路径并过滤非法字符
Java 方法 genPath: 生成安全路径并过滤非法字符
本方法用于根据输入参数生成路径字符串,并过滤掉可能导致安全问题的非法字符。该方法使用 StringBuilder 构建路径,并在文件夹之间添加文件分隔符,同时使用正则表达式替换非法字符。
public static String genPath(Object... args) {
StringBuilder pathBuilder = new StringBuilder();
for (Object arg : args) {
String folder = arg.toString();
// 过滤掉非法字符,如 / \ : * ? ' < > |
folder = folder.replaceAll("[/\\:*?'<>|]", "");
pathBuilder.append(folder).append(File.separator);
}
return pathBuilder.toString();
}
示例:
String path = genPath("foo", "bar", "baz*");
// path = "foo/bar/baz"
说明:
- 该方法接受可变参数
args,每个参数代表一个文件夹名称。 - 方法使用
StringBuilder构建路径字符串,提高效率。 - 方法使用
File.separator获取平台相关的文件分隔符,确保跨平台兼容性。 - 方法使用正则表达式替换非法字符,确保生成的路径安全可靠。
注意:
- 该方法只过滤了部分常见非法字符,具体需要根据实际情况进行调整。
- 在实际应用中,建议对输入参数进行更严格的验证,防止恶意输入。
原文地址: https://www.cveoy.top/t/topic/obuA 著作权归作者所有。请勿转载和采集!