Tôi đang tìm kiếm một cách để có được một id tập tin duy nhất trong một ứng dụng Java, và tình cờ gặp này:Nhận id tệp duy nhất trong Windows bằng Java?
Unique file identifier in windows
Bây giờ, tôi đã cố gắng câu trả lời cung cấp bởi Ashley Henderson mình (một trong đó yêu cầu câu hỏi), và điều đó làm việc tốt trong C#. Nhưng tôi cần phải làm điều này trong Java, để ứng dụng hoạt động trên nhiều nền tảng.
Có cách nào để chuyển mã này sang Java hoặc truy cập cùng một id theo cách khác không?
EDIT:
Tôi gần như đã nhận nó làm việc bây giờ, bằng cách sử dụng giải pháp của eee, duy nhất tôi cần nó để được trong thư viện, và khi tôi biên dịch nó như là một thư viện tôi nhận được một lỗi, mặc dù tất cả mọi thứ là làm việc tốt trong một ứng dụng thử nghiệm với tất cả mọi thứ bao gồm. Nhưng với một thư viện riêng biệt mà tôi cố gắng nhập (không có lỗi biên dịch) Tôi nhận được lỗi runtime này:
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)
Tôi đã bao gồm jna.jar và platform.jar trong thư viện khi tôi biên soạn nó ... Xin lưu ý một lần nữa rằng tôi rất mới với Java, nhưng tôi đang làm gì sai?
Tôi nghi ngờ bạn sẽ phải sử dụng JNI để có được nó. Tại sao bạn muốn thông tin này anyways? – jontro
trường hợp sử dụng là gì - tại sao bạn cần id duy nhất? – aishwarya
Trường hợp sử dụng là theo dõi các tệp khi chúng được di chuyển hoặc đổi tên, để duy trì liên kết từ các tệp khác. – Anders