Java重命名文件 - 始终附加相同的信息

时间:2013-07-04 10:32:40

标签: java date

我使用这个简单的代码在事件发生时重命名文件:

String newFileName = oldFileName    + "_" + new Date().getTime();

如果事件发生的时间越来越多我会有一个字符串: myfile_1372933712717_1372933715279_1372933716234

虽然我想只有最后一个时间戳... 当然我可以做一个子串来删除“_”之后的字符串并用新的时间戳替换它,但是假设我将有一个文件,如:myfile_mycomment ... mycomment将被替换,这不是一件好事...... 那么如何才能识别出文件名中是否已有文件戳?!?

2 个答案:

答案 0 :(得分:2)

假设您的original file name不包含"_"

在使用"_"附加拆分文件名之前,始终获取0th中的string array元素并附加timestamp

答案 1 :(得分:2)

您可以尝试使用RegEx来解决此问题,因为时间戳将始终具有相同的模式。这样,您可以区分注释和时间戳,只删除时间戳。

此代码

String test = "Hallo_Comment_1372933712717_1372933712717";

test = test.replaceAll("_1[0-9_]{12}", "");

System.out.println(test);

生成此输出

Hallo_Comment