在windows新建的文件夹是没有id的,怎样确定这个文件夹呢?就是这个文件夹的整个生命周期里,不管怎样移动复制,都可以确定这个文件夹。
在这里可以使用windows的类标识符,通过在注册表注册一个类标识符,作为文件夹的后缀,这样这个文件夹就有唯一id了。
如:新建一个文件夹,然后文件夹命名为:回收站1.{645ff040-5081-101b-9f08-00aa002f954e}
这样,你就可以看到“回收站1”这个文件夹,而它的后缀你是看不到的,这个后缀就是此文件夹的id。
关于创建类标识符:类标识符也称CLSID,可以用"regedit“打开注册表,然后查找”CLSID“,就可以看到许多类标识符了,具体的创建可以在网上查找。
关于java操作注册表:这个包网上已经有人做了,网址是:http://www.trustice.com/java/jnireg/index.shtml
下面是我写的一个方法:
/**
*向注册表增加一个CLSID并返回这个值
* @author zengch
* @since 2012.11.21
*/
public static String getCLSID() {
String CLSID = null; //类标识符
try {
CLSID = "{"+UUID.randomUUID().toString()+"}";
RegistryKey software = Registry.HKEY_CLASSES_ROOT.openSubKey("CLSID");
RegistryKey subKey = software.createSubKey(CLSID, "");
subKey.closeKey();
} catch (Exception e) {
e.printStackTrace();
}
return CLSID;
}