我正在寻找一种方式来获得在Java应用程序的唯一文件ID,并跨越这来了:使用Java在Windows中获取唯一的文件ID?
Unique file identifier in windows
现在,我试图通过阿什利亨德森本人(即问一个提供答案问题),并在C#中工作得很好。但我需要在Java中这样做,才能使应用程序跨平台工作。
有什么办法来港这对Java或得到了相同的ID一些其他的方式?
编辑:
我几乎得到了它现在的工作,利用EEE解决方案,只有我需要它是在图书馆,当我编译为一个库,我得到一个错误,即使一切在包含所有内容的测试应用程序中正常工作。但我尝试导入(无编译器错误)一个单独的图书馆中,我得到这个运行时错误:
debug:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Structure
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at winfileid.FileId.getFileId(FileId.java:37)
at testfileid.TestFileId.main(TestFileId.java:19)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Structure
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 14 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
我已经包括在库中jna.jar和platform.jar当我编译它...请再次注意,我对Java很新,但是我做错了什么?
我怀疑你将不得不使用JNI来获取它。无论如何,你为什么要这个信息? – jontro
什么是用例 - 为什么你需要唯一的ID? – aishwarya
用例是在文件移动或重命名时跟踪文件,以保留来自其他文件的链接。 – Anders