zoukankan      html  css  js  c++  java
  • 在文件上传对于拼接时,加入了+File.separator+的作用

    其实 File.separator 的作用相当于 '   '

    在 windows 中 文件文件分隔符 用 ' ' 或者 ' / ' 都可以

    但是在 Linux 中,是不识别 ' '  的,而 File.separator 是系统默认的文件分隔符号,在 UNIX 系统上,此字段的值为 ' / '

    在 Microsoft Windows 系统上,它为 ' ' 屏蔽了这些系统的区别。

    所以用 File.separator 保证了在任何系统下不会出错。

    此外 File 类还有:

    1、separatorChar

              与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符

    2、pathSeparatorChar   

              与系统有关的路径分隔符,为了方便,它被表示为一个字符串

    3、pathSeparator

              此字符用于分隔以路径列表形式给定的文件序列中的文件名

              在 UNIX 系统上此字段为 ' : '

              在 Microsoft Windows 系统上,它为 ' ; '

    在项目中运用的实例:

    String fileName = file.getOriginalFilename();
    // 判断文件类型是否符合要求
    boolean b = ValidateFileUtil.validateFile(fileName);
    if (!b){
    throw new ZException(ErrorCode.BIZ_FILE_TYPE_ERROR.getMessage(),ErrorCode.BIZ_FILE_TYPE_ERROR);
    }
    // 上传之前根据文件名判断是否重复上传
    if (uploadRecordDao.clueFileExists(fileName) > 0){
    throw new ZException(ErrorCode.BIZ_FILE_SAME.getMessage(),ErrorCode.BIZ_FILE_SAME);
    }
    // 文件服务器路径按天划分
    Date datePath = calendar.getTime();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateStr = sdf.format(datePath);
    String destFile = filePath + File.separator + dateStr + File.separator + fileName;
    String tmpPath = filePath + File.separator + dateStr + File.separator + "tmp";
    logger.info("destFile:{}",destFile);
    File dest = new File(destFile);
    if (!dest.getParentFile().exists()){
    dest.getParentFile().mkdirs();
    }
  • 相关阅读:
    [JavaScript] cookie和storage
    react-interview-02
    简单实现一个Vue
    js获取当前页面url
    鸽巢原理
    20210412-1 原型设计作业
    案例分析作业
    软件工程的202103226-1编程作业
    阅读反馈
    软件工程第一课
  • 原文地址:https://www.cnblogs.com/chenjiuqing/p/14240121.html
Copyright © 2011-2022 走看看