有一批文件,需要对他们进行批量随机重命名处理成某种统一规范的。还要能恢复
发布网友
发布时间:2022-04-24 16:53
我来回答
共2个回答
热心网友
时间:2023-10-23 23:36
你这个需要恢复功能,就变得复杂得多了。即使用数据库,也不是很理想的办法。
给你个思路:如果你的文件支持属性修改的话,在改名之前,将你的原文件名保存入文件的标题或备注属性中,然后再将文件名随机更名。如果要恢复原来的文件名,就将该文件的标题属性或备注属性中保存的内容读取出来更名,这样就还原了。
如果你的文件不支持文件属性,那就更复杂了,思路可能这样:采用二进制读写原文件,然后将原文件名以二进制的方式写入文件的末尾,同时将一个识别标记符号写入再其前面;然后更名。要还原的时候,以二进制方式打开原文件,从文件的末尾开始逐一读取内容,当遇到识别标记的时候,结束读取,将识别标记之后的二进制字节内容还原成文件名,再来更名。
这两种是最理想的方法,采用数据库保存原文件名的方式,理论上可行,但实用性不大。
热心网友
时间:2023-10-23 23:36
理论上可行。
不过这个还要恢复,有点。。。。
如果改名前,能将原名字放在新名字内,作为一部分,就不需要用到数据库。
当然,如果旧名字不在新名字上体现,那必须用到数据库了,或者文件存名字;
所以对于需求,还是看你要主要实现哪部分,是找出文件,还是找出文件后改名字。
无论如何,技术上是可以满足的。追问必需要有恢复功能
正因为需要隐藏原名里一些内容,才需要功能。
而且必须保证,重命名后文件名是唯一的。
怎么就没下文了啊?