Sto cercando un modo per ottenere un ID unico file in un'applicazione Java, e sono imbattuto in questo:Ottieni un ID file univoco in Windows con Java?
Unique file identifier in windows
Ora, ho provato la risposta fornita da Ashley Henderson se stesso (quello che ha chiesto la domanda), e che ha funzionato bene in C#. Ma ho bisogno di farlo in Java, per far funzionare l'app su tutte le piattaforme.
Esiste un modo per eseguire il porting su Java o ottenere lo stesso ID in un altro modo?
EDIT:
ho quasi ottenuto lavorando ora, utilizzando la soluzione eee, solo ho bisogno di essere in una biblioteca, e quando compilo come una biblioteca ottengo un errore, anche se tutto è lavorando bene in un'applicazione di test con tutto incluso. Ma con una libreria separata che si tenta di importare (nessun errore del compilatore) ottengo questo errore di runtime:
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)
Ho incluso il jna.jar e platform.jar nella libreria quando ho compilato esso ... Per favore ricorda che sono molto nuovo in Java, ma cosa sto sbagliando?
Sospetto che tu avrebbe dovuto usare JNI per averlo. Perché vorresti comunque queste informazioni? – jontro
qual è il caso d'uso? Perché hai bisogno dell'ID univoco? – aishwarya
Il caso d'uso è quello di tenere traccia dei file quando vengono spostati o rinominati, per preservare i collegamenti da altri file. – Anders