Java如何用时间戳重命名上传的文件

 更新时间:2024年04月15日 09:48:08   作者:霸道流氓气质  
这篇文章主要介绍了Java如何用时间戳重命名上传的文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java用时间戳重命名上传的文件

场景

上传文件后防止文件重名,需要获取当前时间并作为

时间戳给上传的文件重命名。

实现

 if (file != null) {
                        //获取上传文件名
                        fileName = file1.getOriginalFilename();
                        //获取后缀名
                        String sname = fileName.substring(fileName.lastIndexOf("."));
                        //时间格式化格式
                        SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS");
                        //获取当前时间并作为时间戳
                        String timeStamp=simpleDateFormat.format(new Date());
                        //拼接新的文件名
                        String newName ="收货单"+timeStamp+sname;
                        //指定上传文件的路径
                        String path = "F:\\" + newName;
                        //上传保存
                        file.transferTo(new File(path));
                        //保存当前文件路径
                        request.getSession().setAttribute("currFilePath", path);
                    }

Java日志时间戳替换成时间

日志中的时间戳替换成时间,不经常用,但是用到的时候又找不到,想简单解用notepad++的正则替换好像又行不通。

上例子:

想必大家看到这样的日志要奔溃的,什么鬼,只有一个时间戳,这怎么看。。。。

有的时候物联网相关行业会遇到,因为设备为了节约发送数据的成本可能只会携带很少量的信息,因此会出现一系列的麻烦,好了言归正传,上代码了。

上代码:

        //定义正则表达式(待匹配的时间)
        String reg = "[0-9]{10}";//正则表达式这里是根据时间戳匹配的,看你的日志自己发挥
        //编译正则表达式
        Pattern patten = Pattern.compile(reg);
 
        //读取目标日志文件
        String temp = FileOperateUtils.readToString("D:\\sub.log");
        //按行分割
        String[] lines = temp.split("\n");
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < lines.length; i++) {
            // 指定要匹配的字符串
            Matcher matcher = patten.matcher(lines[i]);
            //此处find()每次被调用后,会偏移到下一个匹配
            while (matcher.find()) {
                String target = matcher.group();
                lines[i] = lines[i].replaceFirst(target, DateUtil.getTime(new Date(Long.parseLong(target) * 1000)));
                System.out.println(target);
            }
            result.append(lines[i]).append("\n");
        }
        //输出
        FileOperateUtils.createAndWriteAppendFile(result.toString(), "D:\\subResult.log");
        System.out.println("OK! D:\\subResult.log");

最终拿到的结果就是你想要的。

有时候遇到问题,想用工具直接搞,又搞不定,写一个代码又麻烦,没办法,只能自己多造一些自己用的工具吧。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java分布式学习之Kafka消息队列

    Java分布式学习之Kafka消息队列

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据
    2022-07-07
  • Maven多模块及version修改的实现方法

    Maven多模块及version修改的实现方法

    这篇文章主要介绍了Maven多模块及version修改的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 如何通过javacv实现图片去水印(附代码)

    如何通过javacv实现图片去水印(附代码)

    这篇文章主要介绍了如何通过javacv实现图片去水印(附代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • mybatis之批量添加问题

    mybatis之批量添加问题

    这篇文章主要介绍了mybatis之批量添加问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Spring通过工具类实现获取容器中的Bean

    Spring通过工具类实现获取容器中的Bean

    在实际开发中,我们往往要用到Spring容器为我们提供的诸多资源,例如想要获取到容器中的配置、获取到容器中的Bean等等。本文为大家详细讲讲工具类如何获取到Spring容器中的Bean,需要的可以参考一下
    2022-06-06
  • SpringBoot拦截器读取流后不能再读取的问题

    SpringBoot拦截器读取流后不能再读取的问题

    这篇文章主要介绍了SpringBoot拦截器读取流后不能再读取的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Spring源码解析容器初始化构造方法

    Spring源码解析容器初始化构造方法

    这篇文章主要介绍了Spring源码解析容器初始化构造方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Java基于WebMagic爬取某豆瓣电影评论的实现

    Java基于WebMagic爬取某豆瓣电影评论的实现

    这篇文章主要介绍了Java基于WebMagic爬取某豆瓣电影评论的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java获取http请求的Header和Body的简单方法

    java获取http请求的Header和Body的简单方法

    下面小编就为大家带来一篇java获取http请求的Header和Body的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • java poi读取excel操作示例(2个代码)

    java poi读取excel操作示例(2个代码)

    这篇文章主要介绍了使用POI读取EXCEL文件的方法,代码大家可以参考使用
    2013-12-12

最新评论