1

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

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

如果事件发生的时间越来越长,我将有一个字符串,例如:myfile_1372933712717_1372933715279_1372933716234

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

4

2 回答 2

2

假设你original file name不包含 "_"

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

于 2013-07-04T10:34:52.807 回答
2

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

这段代码

String test = "Hallo_Comment_1372933712717_1372933712717";

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

System.out.println(test);

生成了这个输出

Hallo_Comment
于 2013-07-04T10:42:24.510 回答