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-03
springboot讀取自定義配置文件節(jié)點(diǎn)的方法
這篇文章主要介紹了springboot讀取自定義配置文件節(jié)點(diǎn)的方法,本文給大家介紹的非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-05-05
SpringBoot整合BootStrap實(shí)戰(zhàn)
這篇文章主要介紹了SpringBoot整合BootStrap實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

