文件名称校验

    /**
     *文件名称规范校验:规范如下:
     *1.首尾不能有空字符(空格、制表符、换页符等空白字符的其中任意一个),文件名尾不能为.号
     * 2.文件名和扩展名不能同时为空?
     * 3.文件名中不能包含\/:*?"<>|中的任意字符?
     * 4.文件名(包括扩展名)的长度不得大于255个字符?
     * 5.在1.的条件下,文件名中不能出出现除空格符外的任意空字符.
     * @param fileName  文件名称
     * @return
     */
    public static boolean isValidFileName(String fileName) {
        if (fileName == null || fileName.length() > 255 || fileName=="") {
            return false;
        }
        return fileName.matches("[^\\s\\\\/:\\*\\?\\\"<>\\|](\\x20|[^\\s\\\\/:\\*\\?\\\"<>\\|])*[^\\s\\\\/:\\*\\?\\\"<>\\|\\.]$");
    }

文件名称校验通常涉及到验证用户输入或从系统中读取的文件名是否符合特定的规则,例如是否包含特殊字符、正确的大小写、长度限制等。编写测试用例是为了确保这个功能的正确性和鲁棒性。以下是一些测试用例的例子: 1. **正常情况**: - 测试用例1: 验证一个合法的文件名,如 "example.txt" 或 "report_2023.pdf"。 - 测试用例2: 文件名仅包含字母、数字和下划线。 2. **边缘情况**: - 测试用例3: 文件名为空字符串或仅包含空格。 - 测试用例4: 文件名包含不允许的字符,如路径分隔符(/)或操作系统特定的特殊字符(如*、?)。 - 测试用例5: 文件名超出了预设的最大长度限制。 3. **错误情况**: - 测试用例6: 文件名以"."(点)开头,许多系统不允许这样命名。 - 测试用例7: 文件名包含连续的点或多个点分隔符,如".example.txt" 或 "example..txt"。 - 测试用例8: 文件名包含了非法的控制字符或特殊编码字符。 4. **边界条件**: - 测试用例9: 文件名的长度正好等于最小或最大允许长度。 - 测试用例10: 文件名包含大小写字母,检查是否区分大小写(如果设置为不区分则应接受小写形式)。 5. **异常处理**: - 测试用例11: 输入非字符串类型的数据,如数字或布尔值,看程序是否能适当地捕获并报错。 记得在每个测试用例后验证校验函数的输出(如返回值、错误消息等),以及实际操作(如文件创建、打开、删除)是否按预期执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值