Java如何用時(shí)間戳重命名上傳的文件
Java用時(shí)間戳重命名上傳的文件
場(chǎng)景
上傳文件后防止文件重名,需要獲取當(dāng)前時(shí)間并作為
時(shí)間戳給上傳的文件重命名。
實(shí)現(xiàn)
if (file != null) { //獲取上傳文件名 fileName = file1.getOriginalFilename(); //獲取后綴名 String sname = fileName.substring(fileName.lastIndexOf(".")); //時(shí)間格式化格式 SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmssSSS"); //獲取當(dāng)前時(shí)間并作為時(shí)間戳 String timeStamp=simpleDateFormat.format(new Date()); //拼接新的文件名 String newName ="收貨單"+timeStamp+sname; //指定上傳文件的路徑 String path = "F:\\" + newName; //上傳保存 file.transferTo(new File(path)); //保存當(dāng)前文件路徑 request.getSession().setAttribute("currFilePath", path); }
Java日志時(shí)間戳替換成時(shí)間
日志中的時(shí)間戳替換成時(shí)間,不經(jīng)常用,但是用到的時(shí)候又找不到,想簡(jiǎn)單解用notepad++的正則替換好像又行不通。
上例子:
想必大家看到這樣的日志要奔潰的,什么鬼,只有一個(gè)時(shí)間戳,這怎么看。。。。
有的時(shí)候物聯(lián)網(wǎng)相關(guān)行業(yè)會(huì)遇到,因?yàn)樵O(shè)備為了節(jié)約發(fā)送數(shù)據(jù)的成本可能只會(huì)攜帶很少量的信息,因此會(huì)出現(xiàn)一系列的麻煩,好了言歸正傳,上代碼了。
上代碼:
//定義正則表達(dá)式(待匹配的時(shí)間) String reg = "[0-9]{10}";//正則表達(dá)式這里是根據(jù)時(shí)間戳匹配的,看你的日志自己發(fā)揮 //編譯正則表達(dá)式 Pattern patten = Pattern.compile(reg); //讀取目標(biāo)日志文件 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()每次被調(diào)用后,會(huì)偏移到下一個(gè)匹配 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");
最終拿到的結(jié)果就是你想要的。
有時(shí)候遇到問題,想用工具直接搞,又搞不定,寫一個(gè)代碼又麻煩,沒辦法,只能自己多造一些自己用的工具吧。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合數(shù)據(jù)庫(kù)訪問層的實(shí)戰(zhàn)
本文主要介紹了SpringBoot整合數(shù)據(jù)庫(kù)訪問層的實(shí)戰(zhàn),主要包含JdbcTemplate和mybatis框架的整合應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下2022-03-03springboot讀取自定義配置文件節(jié)點(diǎn)的方法
這篇文章主要介紹了springboot讀取自定義配置文件節(jié)點(diǎn)的方法,本文給大家介紹的非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-05-05SpringBoot整合BootStrap實(shí)戰(zhàn)
這篇文章主要介紹了SpringBoot整合BootStrap實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09