怎么获得一个文件的唯一标识符(UUID)

china8848 2009-03-13 05:05:14
怎么获得一个文件的唯一标识符(在文件的整个生命周期中)?该文件的内容是可变的,路径和名字也是可变的,创建时间也是可变的,因为可能从一个地方复制到另一个地方(如在代码的版本控制器中)。详细的说是:需要在文件的整个生命周期中为文件创建一个一直不变的UUID,让该UUID一直"跟随"着该文件,从它创建、期间可能改名、修改内容、从一个地方copy到另一个地方(包含从一个计算机copy到另一个计算机)。 但是不能写在文件中。整个需求可能有点苛刻,但是希望大家出出主意,顶者有分,谢谢了!
...全文
3058 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤雨 2011-12-30
  • 打赏
  • 举报
回复
专门维护一个文件来保存信息吧吧
zlyfchr 2011-12-30
  • 打赏
  • 举报
回复
楼主,这个问题解决了吗,我也想要一个文件唯一标识
z25765339 2011-12-30
  • 打赏
  • 举报
回复
这玩意计算文件的MD5值不就行了吗?????????????????????????????????
NewStarSE 2011-12-30
  • 打赏
  • 举报
回复
windows下NTFS格式是可以实现的,可以将附加信息加在文件里面,用户也看不到。但linux下就不知道怎么搞了。
bayougeng 2011-12-30
  • 打赏
  • 举报
回复
定义你自己的文件格式,这个文件只能是2进制文件。
比如一个xls文件,你从他的属性里可以看到它的创建时间、公司、作者……
xls有自己的文件格式,某些段就是用来保存这些信息的,你自己也可以定义自己的文件格式。
24K純帥 2010-09-30
  • 打赏
  • 举报
回复
要不名字以特殊形式,再遍历目录,找到包含这特殊字符串的文件
michaellufhl 2010-09-29
  • 打赏
  • 举报
回复





我认为应该遵循OS的文件概念:
一个文件换了位置就不是原来的文件了。
文件只能根据路径+文件名字来区分。
Miracle1216 2010-09-29
  • 打赏
  • 举报
回复
要不看看Windows源代码?
钢镚·真 2010-09-29
  • 打赏
  • 举报
回复
如果用文件头的话,是基于驱动。在文件创建时自动在文件头加标识。那么应用层再用时是通过调驱动的方法去获得文件的标识。这样应该可以实现,我也正在研究
chenhansong2008 2010-09-21
  • 打赏
  • 举报
回复
自己在你的文件里建个配置文件,里面写上唯一标识符值,这样不就可以随着别人复制而不会改变了吗。。。
别人复制你的文件就自动执行一个算法将那个配置文件的唯一标识符自动+1,就可以了。
magong 2010-09-21
  • 打赏
  • 举报
回复
1、信息只能记录在文件中
2、信息记录在用户不可见区段
3、信息加密,用户很难解密
  • 打赏
  • 举报
回复
很显然楼主想实现一个文件系统!
tghlsy1234567890 2010-09-21
  • 打赏
  • 举报
回复
文件的第一行用来存储文件名
youjianbo_han_87 2010-09-21
  • 打赏
  • 举报
回复
专门维护一个 .ini文件。用于保存文件信息。
qqzhuyuehe 2010-09-21
  • 打赏
  • 举报
回复
我觉得吧,既然不能在文件名、创建时间等等属性上做文章,就生成一个uuid加到文件内部(比如文件头部信息或者直接文件第一行),以后判断文件时,就从文件中获取这个uuid来进行识别。

或者,就像上面说的,用一个数据库表,动态跟踪,每当文件变了,就更新数据库表。
chaosfun 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 china8848 的回复:]

大家帮帮忙 看看有没有合适的方法 谢谢了
[/Quote]
我和你遇到的问题是一模一样的,你这个问题解决了吗?怎么解决的?
china8848 2009-08-05
  • 打赏
  • 举报
回复
大家帮帮忙 看看有没有合适的方法 谢谢了
china8848 2009-08-04
  • 打赏
  • 举报
回复
大家帮帮忙 看看有没有合适的方法 谢谢了
china8848 2009-08-03
  • 打赏
  • 举报
回复
大家帮帮忙 看看有没有合适的方法 谢谢了
jspxnet 2009-03-16
  • 打赏
  • 举报
回复
这个东西要根据逻辑来设计了。你创建文件的时候就记录文件的历史变动记录。最好在数据库中建表记录。
到时候更加变动历史来查询区分就可以了。
当然这样效率不高。不过你什么都在变,又不能写入文件。也真麻烦。

还有一个方法,不知道满足你的要求不。就是写在文件名后边。比如
xxx.txt.uuid 你看文件名称的时候,就看xxx.txt部分。后边就做为uuid来识别。
加载更多回复(11)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧