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 获取平台相关的文件分隔符,确保跨平台兼容性。
  • 方法使用正则表达式替换非法字符,确保生成的路径安全可靠。

注意:

  • 该方法只过滤了部分常见非法字符,具体需要根据实际情况进行调整。
  • 在实际应用中,建议对输入参数进行更严格的验证,防止恶意输入。
Java 方法 genPath: 生成安全路径并过滤非法字符

原文地址: https://www.cveoy.top/t/topic/obuA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录