Busco una forma de obtener un identificador de archivo único en una aplicación Java, y me encontré con esto:¿Obtiene ID de archivo único en Windows con Java?
Unique file identifier in windows
Ahora, he intentado la respuesta suministrada por el propio Ashley Henderson (la que pidió la pregunta), y eso funcionó bien en C#. Pero necesito hacer esto en Java, para que la aplicación funcione en todas las plataformas.
¿Hay alguna forma de llevar esto a Java, o obtener la misma identificación de otra manera?
EDIT:
Casi tengo trabajo ahora, el uso de la solución mediante eee, solamente lo necesito estar en una biblioteca, y cuando compilo como una biblioteca consigo un error, a pesar de que todo está funciona bien en una aplicación de prueba con todo incluido. Pero con una biblioteca independiente que intento importar (no hay errores de compilación) me sale este error de ejecución:
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)
He incluido el jna.jar y platform.jar en la biblioteca cuando compilé que ... Tenga en cuenta una vez más que soy muy nuevo en Java, pero ¿qué estoy haciendo mal?
sospecho que tu Tendría que usar JNI para obtenerlo. ¿Por qué querrías esta información de todos modos? – jontro
cuál es el caso de uso, ¿por qué necesita la identificación única? – aishwarya
El caso de uso es realizar un seguimiento de los archivos cuando se mueven o cambian de nombre, para conservar los enlaces de otros archivos. – Anders